diff options
Diffstat (limited to 'qemu/roms/ipxe/src/util/sortobjdump.pl')
-rwxr-xr-x | qemu/roms/ipxe/src/util/sortobjdump.pl | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/qemu/roms/ipxe/src/util/sortobjdump.pl b/qemu/roms/ipxe/src/util/sortobjdump.pl deleted file mode 100755 index 1373a7ffd..000000000 --- a/qemu/roms/ipxe/src/util/sortobjdump.pl +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use warnings; - -# Sort the symbol table portion of the output of objdump -ht by -# section, then by symbol value, then by size. Used to enhance the -# linker maps produced by "make bin/%.map" by also showing the values -# of all non-global symbols. - -my %section_idx = ( "*ABS*" => ".", "*UND*" => "_" ); -my %lines; -while ( <> ) { - if ( /^\s+(\d+)\s+([\.\*]\S+)\s+[0-9a-fA-F]+\s+[0-9a-fA-F]/ ) { - # It's a header line containing a section definition; extract the - # section index and store it. Also print the header line. - print; - ( my $index, my $section ) = ( $1, $2 ); - $section_idx{$section} = sprintf ( "%02d", $index ); - } elsif ( /^([0-9a-fA-F]+)\s.*?\s([\.\*]\S+)\s+([0-9a-fA-F]+)\s+(\S+)/ ) { - # It's a symbol line - store it in the hash, indexed by - # "<section_index>:<value>:<size>:<end_tag>". <end_tag> is "0" if - # the symbol name is of the form xxx_end, "1" otherwise; this is - # done so that table end markers show up before any other symbols - # with the same value. - ( my $value, my $section, my $size, my $name ) = ( $1, $2, $3, $4 ); - die "Unrecognised section \"$section\"\n" - unless exists $section_idx{$section}; - my $section_idx = $section_idx{$section}; - my $end = ( $name =~ /_end$/ ) ? "0" : "1"; - my $key = $section_idx.":".$value.":".$size.":".$end; - $lines{$key} ||= ''; - $lines{$key} .= $_; - } else { - # It's a generic header line: just print it. - print; - } -} - -print $lines{$_} foreach sort keys %lines; |