summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRabin Vincent <rabin@rab.in>2010-08-10 22:43:28 +0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-09-02 18:27:40 +0400
commit3b6c223b1b97ad60bbb0f4efda57d649414ac2a2 (patch)
tree291dcb285e8cb64415a82ed1c65dc9681921a257 /scripts
parentf9810a82536e0c730c57844753e6c08cc7f77881 (diff)
downloadlinux-3b6c223b1b97ad60bbb0f4efda57d649414ac2a2.tar.xz
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\$";