bootgraph: fix for use with dot symbols
PATCH 1/1 bootgraph: fix for use with dot symbols
powerpc has dot symbols, so the dmesg output looks like:
<4>[ 0.327310] calling .migration_init+0x0/0x9c @ 1 <4>[ 0.327595] initcall .migration_init+0x0/0x9c returned 1 after 0 usecs
The below fixes bootgraph.pl so it handles this correctly.
--- scripts/bootgraph.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
scripts/bootgraph.pl +2 -2
@@ -51,7 +51,7 @@ my %pidctr; while (<>) { my $line = $_; - if ($line =~ /([0-9\.]+)\] calling ([a-zA-Z0-9\_]+)\+/) { + if ($line =~ /([0-9\.]+)\] calling ([a-zA-Z0-9\_\.]+)\+/) { my $func = $2; if ($done == 0) { $start{$func} = $1;
@@ -87,7 +87,7 @@ while (<>) { $count = $count + 1; } - if ($line =~ /([0-9\.]+)\] initcall ([a-zA-Z0-9\_]+)\+.*returned/) { + if ($line =~ /([0-9\.]+)\] initcall ([a-zA-Z0-9\_\.]+)\+.*returned/) { if ($done == 0) { $end{$2} = $1; $maxtime = $1;
Quoted 6 lines · Michael Neuling
powerpc has dot symbols, so the dmesg output looks like:
<4>[ 0.327310] calling .migration_init+0x0/0x9c @ 1 <4>[ 0.327595] initcall .migration_init+0x0/0x9c returned 1 after 0 usecsThe below fixes bootgraph.pl so it handles this correctly.
question for the ppc folks.... why does the "print symbol" magic format string thing print a dot symbol and not the real function name?
Should that be fixed instead?
Hi Arjan,
Quoted 3 lines
question for the ppc folks.... why does the "print symbol" magic format string thing print a dot symbol and not the real function name?
Should that be fixed instead?
We have two symbols for each function, foo points to the function descriptor, and .foo points to the instruction text. If we were to strip the '.' when we print symbols then it would become harder to diagnose some failures (eg branching to the function descriptor instead of the instruction text).
Anton
Quoted 1 line
Quoted 1 line
question for the ppc folks.... why does the "print symbol" magic format str
ing
Quoted 8 lines
Quoted 2 lines
thing print a dot symbol and not the real function name? Should that be fixed instead?
We have two symbols for each function, foo points to the function descriptor, and .foo points to the instruction text. If we were to strip the '.' when we print symbols then it would become harder to diagnose some failures (eg branching to the function descriptor instead of the instruction text).
Arjan,
I don't think there is much scope for removing dot symbols in the near future.
Can you please take the patch as is for now so bootgraph will at least work for existing systems?
Mikey