Consistently use debug lib(s) if present

Fixes a situation where nm uses the debug lib but
addr2line does not, which completely messes up the symbol
lookup.
This commit is contained in:
Harald Weppner 2014-03-18 00:00:14 -07:00
parent bf543df20c
commit 4bbf8181f3

View File

@ -4607,6 +4607,12 @@ sub ExtractSymbols {
my $finish = $lib->[2]; my $finish = $lib->[2];
my $offset = $lib->[3]; my $offset = $lib->[3];
# Use debug library if it exists
my $debug_libname = DebuggingLibrary($libname);
if ($debug_libname) {
$libname = $debug_libname;
}
# Get list of pcs that belong in this library. # Get list of pcs that belong in this library.
my $contained = []; my $contained = [];
my ($start_pc_index, $finish_pc_index); my ($start_pc_index, $finish_pc_index);
@ -5037,7 +5043,7 @@ sub GetProcedureBoundariesViaNm {
# Tag this routine with the starting address in case the image # Tag this routine with the starting address in case the image
# has multiple occurrences of this routine. We use a syntax # has multiple occurrences of this routine. We use a syntax
# that resembles template paramters that are automatically # that resembles template parameters that are automatically
# stripped out by ShortFunctionName() # stripped out by ShortFunctionName()
$this_routine .= "<$start_val>"; $this_routine .= "<$start_val>";