From 9be12f9b1c4fd5f18cc82c170a32bfe1713ba76d Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sat, 13 Jun 2009 01:03:24 -0700 Subject: sparc64: Add proper dynamic ftrace support. Signed-off-by: David S. Miller Acked-by: Steven Rostedt Acked-by: Ingo Molnar --- scripts/recordmcount.pl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'scripts/recordmcount.pl') diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl index 91033e67321..7109e2b5bc0 100755 --- a/scripts/recordmcount.pl +++ b/scripts/recordmcount.pl @@ -226,6 +226,26 @@ if ($arch eq "x86_64") { if ($is_module eq "0") { $cc .= " -mconstant-gp"; } +} elsif ($arch eq "sparc64") { + # In the objdump output there are giblets like: + # 0000000000000000 : + # As there's some data blobs that get emitted into the + # text section before the first instructions and the first + # real symbols. We don't want to match that, so to combat + # this we use '\w' so we'll match just plain symbol names, + # and not those that also include hex offsets inside of the + # '<>' brackets. Actually the generic function_regex setting + # could safely use this too. + $function_regex = "^([0-9a-fA-F]+)\\s+<(\\w*?)>:"; + + # Sparc64 calls '_mcount' instead of plain 'mcount'. + $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$"; + + $alignment = 8; + $type = ".xword"; + $ld .= " -m elf64_sparc"; + $cc .= " -m64"; + $objcopy .= " -O elf64-sparc"; } else { die "Arch $arch is not supported with CONFIG_FTRACE_MCOUNT_RECORD"; } -- cgit v1.2.3