aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/recordmcount.pl
diff options
context:
space:
mode:
authorWolfram Sang <w.sang@pengutronix.de>2010-01-05 13:27:51 -0500
committerSteven Rostedt <rostedt@goodmis.org>2010-01-06 13:32:39 -0500
commitdc4f8845ee2ca39fe054a2d911729ffd269b4b66 (patch)
treefc6ffa93efde6eeb58edf276970b647660ce2a7b /scripts/recordmcount.pl
parent7e53bd42d14c75192b99674c40fcc359392da59d (diff)
tracing: optimize recordmcount.pl for offsets-handling
- move check for open file in front of the writing loop - use perl-constructs to access the array Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> LKML-Reference: <1262716072-14414-2-git-send-email-w.sang@pengutronix.de> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'scripts/recordmcount.pl')
-rwxr-xr-xscripts/recordmcount.pl18
1 files changed, 9 insertions, 9 deletions
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index 92f09fe9639e..5de12c7b366f 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -432,14 +432,14 @@ sub update_funcs
432 432
433 # Loop through all the mcount caller offsets and print a reference 433 # Loop through all the mcount caller offsets and print a reference
434 # to the caller based from the ref_func. 434 # to the caller based from the ref_func.
435 for (my $i=0; $i <= $#offsets; $i++) { 435 if (!$opened) {
436 if (!$opened) { 436 open(FILE, ">$mcount_s") || die "can't create $mcount_s\n";
437 open(FILE, ">$mcount_s") || die "can't create $mcount_s\n"; 437 $opened = 1;
438 $opened = 1; 438 print FILE "\t.section $mcount_section,\"a\",$section_type\n";
439 print FILE "\t.section $mcount_section,\"a\",$section_type\n"; 439 print FILE "\t.align $alignment\n" if (defined($alignment));
440 print FILE "\t.align $alignment\n" if (defined($alignment)); 440 }
441 } 441 foreach my $cur_offset (@offsets) {
442 printf FILE "\t%s %s + %d\n", $type, $ref_func, $offsets[$i] - $offset; 442 printf FILE "\t%s %s + %d\n", $type, $ref_func, $cur_offset - $offset;
443 } 443 }
444} 444}
445 445
@@ -514,7 +514,7 @@ while (<IN>) {
514 } 514 }
515 # is this a call site to mcount? If so, record it to print later 515 # is this a call site to mcount? If so, record it to print later
516 if ($text_found && /$mcount_regex/) { 516 if ($text_found && /$mcount_regex/) {
517 $offsets[$#offsets + 1] = hex $1; 517 push(@offsets, hex $1);
518 } 518 }
519} 519}
520 520