diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-08-11 08:19:09 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-11 08:19:09 -0400 |
commit | 89034bc2c7b839702c00a704e79d112737f98be0 (patch) | |
tree | e65b1f3d4c751baa840efc81bc4734f089379eb3 /scripts/recordmcount.pl | |
parent | fb82ad719831db58e9baa4c67015aae3fe27e7e3 (diff) | |
parent | 85dfd81dc57e8183a277ddd7a56aa65c96f3f487 (diff) |
Merge branch 'linus' into tracing/core
Conflicts:
kernel/trace/trace_events_filter.c
We use the tracing/core version.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'scripts/recordmcount.pl')
-rwxr-xr-x | scripts/recordmcount.pl | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl index db4ebe1b996..090d300d739 100755 --- a/scripts/recordmcount.pl +++ b/scripts/recordmcount.pl | |||
@@ -392,7 +392,7 @@ while (<IN>) { | |||
392 | $read_function = 0; | 392 | $read_function = 0; |
393 | } | 393 | } |
394 | # print out any recorded offsets | 394 | # print out any recorded offsets |
395 | update_funcs() if ($text_found); | 395 | update_funcs() if (defined($ref_func)); |
396 | 396 | ||
397 | # reset all markers and arrays | 397 | # reset all markers and arrays |
398 | $text_found = 0; | 398 | $text_found = 0; |
@@ -402,7 +402,6 @@ while (<IN>) { | |||
402 | # section found, now is this a start of a function? | 402 | # section found, now is this a start of a function? |
403 | } elsif ($read_function && /$function_regex/) { | 403 | } elsif ($read_function && /$function_regex/) { |
404 | $text_found = 1; | 404 | $text_found = 1; |
405 | $offset = hex $1; | ||
406 | $text = $2; | 405 | $text = $2; |
407 | 406 | ||
408 | # if this is either a local function or a weak function | 407 | # if this is either a local function or a weak function |
@@ -411,10 +410,15 @@ while (<IN>) { | |||
411 | if (!defined($locals{$text}) && !defined($weak{$text})) { | 410 | if (!defined($locals{$text}) && !defined($weak{$text})) { |
412 | $ref_func = $text; | 411 | $ref_func = $text; |
413 | $read_function = 0; | 412 | $read_function = 0; |
413 | $offset = hex $1; | ||
414 | } else { | 414 | } else { |
415 | # if we already have a function, and this is weak, skip it | 415 | # if we already have a function, and this is weak, skip it |
416 | if (!defined($ref_func) || !defined($weak{$text})) { | 416 | if (!defined($ref_func) && !defined($weak{$text}) && |
417 | # PPC64 can have symbols that start with .L and | ||
418 | # gcc considers these special. Don't use them! | ||
419 | $text !~ /^\.L/) { | ||
417 | $ref_func = $text; | 420 | $ref_func = $text; |
421 | $offset = hex $1; | ||
418 | } | 422 | } |
419 | } | 423 | } |
420 | } elsif ($read_headers && /$mcount_section/) { | 424 | } elsif ($read_headers && /$mcount_section/) { |
@@ -439,7 +443,7 @@ while (<IN>) { | |||
439 | } | 443 | } |
440 | 444 | ||
441 | # dump out anymore offsets that may have been found | 445 | # dump out anymore offsets that may have been found |
442 | update_funcs() if ($text_found); | 446 | update_funcs() if (defined($ref_func)); |
443 | 447 | ||
444 | # If we did not find any mcount callers, we are done (do nothing). | 448 | # If we did not find any mcount callers, we are done (do nothing). |
445 | if (!$opened) { | 449 | if (!$opened) { |