[PATCH] scripts/recordmcount.pl: Support build with -ffunction-sections.

From: Will Newton
Date: Tue Oct 30 2012 - 10:51:10 EST


Scan any text section whose name begins with ".text." so
we will find all the functions in a kernel built with
-ffunction-sections.

Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
---
scripts/recordmcount.pl | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index b33446c..89461c4 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -135,9 +135,13 @@ my %text_sections = (
".spinlock.text" => 1,
".irqentry.text" => 1,
".kprobes.text" => 1,
- ".text.unlikely" => 1,
);

+sub is_valid_section
+{
+ return defined($text_sections{$1}) || $1 =~ m/^\.text\./;
+}
+
# Note: we are nice to C-programmers here, thus we skip the '||='-idiom.
$objdump = 'objdump' if (!$objdump);
$objcopy = 'objcopy' if (!$objcopy);
@@ -502,7 +506,7 @@ while (<IN>) {
$read_headers = 0;

# Only record text sections that we know are safe
- $read_function = defined($text_sections{$1});
+ $read_function = is_valid_section($1);
# print out any recorded offsets
update_funcs();

--
1.7.1

Attachment: 0001-scripts-recordmcount.pl-Support-build-with-ffunction.patch
Description: Binary data