On 29.4.2010 01:17, Stephen Hemminger wrote: > More complete patch, fixes all the warnings from perlcritic as > well as perl compiler with stictures enabled. > > Compile tested, does some one have an actual oops output > to recheck it on? > > Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Hi Stephen, could you please submit a patch against git://repo.or.cz/linux-kbuild.git for-next (or linux-next or -mm) like did in the last version? Thanks, Michal > --- a/scripts/markup_oops.pl 2010-04-28 16:05:20.794776102 -0700 > +++ b/scripts/markup_oops.pl 2010-04-28 16:15:24.894377031 -0700 > @@ -1,5 +1,7 @@ > #!/usr/bin/perl > > +use strict; > + > use File::Basename; > use Math::BigInt; > > @@ -79,9 +81,9 @@ sub parse_x86_regs > sub reg_name > { > my ($reg) = @_; > - $reg =~ s/r(.)x/e\1x/; > - $reg =~ s/r(.)i/e\1i/; > - $reg =~ s/r(.)p/e\1p/; > + $reg =~ s/r(.)x/e$1x/; > + $reg =~ s/r(.)i/e$1i/; > + $reg =~ s/r(.)p/e$1p/; > return $reg; > } > > @@ -94,17 +96,15 @@ sub process_x86_regs > } > > # find the arguments to the instruction > - if ($line =~ /([0-9a-zA-Z\,\%\(\)\-\+]+)$/) { > - $lastword = $1; > - } else { > - return ""; > - } > + return "" unless ($line =~ /([0-9a-zA-Z\,\%\(\)\-\+]+)$/); > + > + my $lastword = $1; > > # we need to find the registers that get clobbered, > # since their value is no longer relevant for previous > # instructions in the stream. > > - $clobber = $lastword; > + my $clobber = $lastword; > # first, remove all memory operands, they're read only > $clobber =~ s/\([a-z0-9\%\,]+\)//g; > # then, remove everything before the comma, thats the read part > @@ -116,7 +116,7 @@ sub process_x86_regs > $clobber = ""; > } > > - foreach $reg (keys(%regs)) { > + foreach my $reg (keys(%regs)) { > my $clobberprime = reg_name($clobber); > my $lastwordprime = reg_name($lastword); > my $val = $regs{$reg}; > @@ -192,14 +192,15 @@ if ($module ne "") { > exit; > } > # ok so we found the module, now we need to calculate the vma offset > - open(FILE, "objdump -dS $filename |") || die "Cannot start objdump"; > - while (<FILE>) { > + open(my $obj, '-|', "objdump -dS $filename") > + || die "Cannot start objdump: $!"; > + while (<$obj>) { > if ($_ =~ /^([0-9a-f]+) \<$function\>\:/) { > my $fu = $1; > $vmaoffset = hex($target) - hex($fu) - hex($func_offset); > } > } > - close(FILE); > + close($obj); > } > > my $counter = 0; > @@ -225,9 +226,11 @@ sub InRange { > # first, parse the input into the lines array, but to keep size down, > # we only do this for 4Kb around the sweet spot > > -open(FILE, "objdump -dS --adjust-vma=$vmaoffset --start-address=$decodestart --stop-address=$decodestop $filename |") || die "Cannot start objdump"; > +open(my $objdump, '-|', > + "objdump -dS --adjust-vma=$vmaoffset --start-address=$decodestart --stop-address=$decodestop $filename") > + or die "Cannot start objdump: $!"; > > -while (<FILE>) { > +while (<$objdump>) { > my $line = $_; > chomp($line); > if ($state == 0) { > @@ -252,7 +255,7 @@ while (<FILE>) { > } > } > > -close(FILE); > +close($objdump); > > if ($counter == 0) { > print "No matching code found \n"; > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html