* addr2line.c (slurp_symtab): If canonicalization reveals that

there were no ordinary symbols, try loading the dynamic symbols
	instead.
This commit is contained in:
Nick Clifton 2013-03-15 16:25:00 +00:00
parent ba86b375f0
commit 0d0fb1ba5f
2 changed files with 17 additions and 0 deletions

View File

@ -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.

View File

@ -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