Skip to contentSkip to conversation

bootgraph: fix for use with dot symbols

PATCH In review Michael Neuling 3 participants 4 messages Jan 28, 2009 – Feb 8, 2009

lore
Share & tools
lore
#0 lore raw

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
Index: linux-2.6-ozlabs/scripts/bootgraph.pl
===================================================================
@@ -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;
#1 lore raw
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 usecs

The 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?

#2 lore raw

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

#3 lore raw
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