summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRabin Vincent <rabin@rab.in>2010-08-10 20:43:28 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-09-02 16:27:40 +0200
commit3b6c223b1b97ad60bbb0f4efda57d649414ac2a2 (patch)
tree291dcb285e8cb64415a82ed1c65dc9681921a257 /scripts
parentARM: 6317/1: ftrace: pass KBUILD_CFLAGS to record_mcount.pl (diff)
downloadlinux-3b6c223b1b97ad60bbb0f4efda57d649414ac2a2.tar.xz
linux-3b6c223b1b97ad60bbb0f4efda57d649414ac2a2.zip
ARM: 6318/1: ftrace: fix and update dynamic ftrace
This adds mcount recording and updates dynamic ftrace for ARM to work with the new ftrace dyamic tracing implementation. It also adds support for the mcount format used by newer ARM compilers. With dynamic tracing, mcount() is implemented as a nop. Callsites are patched on startup with nops, and dynamically patched to call to the ftrace_caller() routine as needed. Acked-by: Steven Rostedt <rostedt@goodmis.org> [recordmcount.pl change] Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/recordmcount.pl2
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index e67f05486087..022d4679b1b3 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -270,6 +270,8 @@ if ($arch eq "x86_64") {
} elsif ($arch eq "arm") {
$alignment = 2;
$section_type = '%progbits';
+ $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_ARM_(CALL|PC24)" .
+ "\\s+(__gnu_mcount_nc|mcount)\$";
} elsif ($arch eq "ia64") {
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$";