summaryrefslogtreecommitdiff
path: root/gpxe/src/util/sortobjdump.pl
diff options
context:
space:
mode:
Diffstat (limited to 'gpxe/src/util/sortobjdump.pl')
-rwxr-xr-xgpxe/src/util/sortobjdump.pl40
1 files changed, 0 insertions, 40 deletions
diff --git a/gpxe/src/util/sortobjdump.pl b/gpxe/src/util/sortobjdump.pl
deleted file mode 100755
index 1373a7ff..00000000
--- a/gpxe/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;