Many changes:
[Marmot.git] / mksym.pl
blob4e598d8edfb9b6567f60e6e2f964fcbcac0a27a0
1 #!/usr/bin/perl
3 # Parse link map and generate symbols.txt to use with VProbes.
5 use strict;
6 use warnings;
8 my $map = 'link.map';
9 die "Missing map file\n" unless -f $map;
10 open MAP, "<$map" or die "Unable to open $map: $!";
12 my %syms = ();
14 while (my $line = <MAP>) {
15 if ($line =~ m/^\s+0x([0-9a-f]+)\s+(\w+)\s*$/) {
16 $syms{$1} = $2;
17 # print "$1 T $2\n";
21 close MAP;
23 open SYMS, ">symbols.txt" or die "Unable to open symbols.txt: $!";
25 foreach my $addr (sort(keys(%syms))) {
26 my $sym = $syms{$addr};
27 print SYMS "$addr T $sym\n";
30 close SYMS;