diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/recordmcount.pl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl index d29baa2e063a..911ba7ffab84 100755 --- a/scripts/recordmcount.pl +++ b/scripts/recordmcount.pl | |||
@@ -393,7 +393,7 @@ while (<IN>) { | |||
393 | $read_function = 0; | 393 | $read_function = 0; |
394 | } | 394 | } |
395 | # print out any recorded offsets | 395 | # print out any recorded offsets |
396 | update_funcs() if ($text_found); | 396 | update_funcs() if (defined($ref_func)); |
397 | 397 | ||
398 | # reset all markers and arrays | 398 | # reset all markers and arrays |
399 | $text_found = 0; | 399 | $text_found = 0; |
@@ -414,7 +414,10 @@ while (<IN>) { | |||
414 | $offset = hex $1; | 414 | $offset = hex $1; |
415 | } else { | 415 | } else { |
416 | # if we already have a function, and this is weak, skip it | 416 | # if we already have a function, and this is weak, skip it |
417 | if (!defined($ref_func) && !defined($weak{$text})) { | 417 | if (!defined($ref_func) && !defined($weak{$text}) && |
418 | # PPC64 can have symbols that start with .L and | ||
419 | # gcc considers these special. Don't use them! | ||
420 | $text !~ /^\.L/) { | ||
418 | $ref_func = $text; | 421 | $ref_func = $text; |
419 | $offset = hex $1; | 422 | $offset = hex $1; |
420 | } | 423 | } |
@@ -441,7 +444,7 @@ while (<IN>) { | |||
441 | } | 444 | } |
442 | 445 | ||
443 | # dump out anymore offsets that may have been found | 446 | # dump out anymore offsets that may have been found |
444 | update_funcs() if ($text_found); | 447 | update_funcs() if (defined($ref_func)); |
445 | 448 | ||
446 | # If we did not find any mcount callers, we are done (do nothing). | 449 | # If we did not find any mcount callers, we are done (do nothing). |
447 | if (!$opened) { | 450 | if (!$opened) { |