* addr2line.c (slurp_symtab): If canonicalization reveals that
there were no ordinary symbols, try loading the dynamic symbols instead.
This commit is contained in:
parent
ba86b375f0
commit
0d0fb1ba5f
2 changed files with 17 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2013-03-15 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* addr2line.c (slurp_symtab): If canonicalization reveals that
|
||||
there were no ordinary symbols, try loading the dynamic symbols
|
||||
instead.
|
||||
|
||||
2013-03-14 Markos Chandras <markos.chandras@imgtec.com>
|
||||
|
||||
* MAINTAINERS: Add myself as Meta maintainer.
|
||||
|
|
|
@ -130,6 +130,17 @@ slurp_symtab (bfd *abfd)
|
|||
symcount = bfd_canonicalize_symtab (abfd, syms);
|
||||
if (symcount < 0)
|
||||
bfd_fatal (bfd_get_filename (abfd));
|
||||
|
||||
/* If there are no symbols left after canonicalization and
|
||||
we have not tried the dynamic symbols then give them a go. */
|
||||
if (symcount == 0
|
||||
&& ! dynamic
|
||||
&& (storage = bfd_get_dynamic_symtab_upper_bound (abfd)) > 0)
|
||||
{
|
||||
free (syms);
|
||||
syms = xmalloc (storage);
|
||||
symcount = bfd_canonicalize_dynamic_symtab (abfd, syms);
|
||||
}
|
||||
}
|
||||
|
||||
/* These global variables are used to pass information between
|
||||
|
|
Loading…
Reference in a new issue