diff options
author | Alan Modra <amodra@bigpond.net.au> | 2005-01-25 10:33:55 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2005-01-25 10:33:55 +0000 |
commit | e71dd5e72eeeabb135cfcda245cae530fc1e9530 (patch) | |
tree | d744ad8fda8205466458fe00bb14b46e2e971540 /binutils/nm.c | |
parent | e86cc6a893680298e9eb305a91d9c52b26e9039a (diff) | |
download | binutils-redhat-e71dd5e72eeeabb135cfcda245cae530fc1e9530.tar.gz |
bfd/
* elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
loadable reloc sections.
(_bfd_elf_canonicalize_dynamic_reloc): Likewise.
(_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
binutils/
* nm.c (display_rel_file): Read dynamic syms before calling
bfd_get_synthetic_symtab.
Diffstat (limited to 'binutils/nm.c')
-rw-r--r-- | binutils/nm.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/binutils/nm.c b/binutils/nm.c index 3668d6b75e..917137fecd 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -1,6 +1,6 @@ /* nm.c -- Describe symbol table of a rel file. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004 + 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -1026,8 +1026,18 @@ display_rel_file (bfd *abfd, bfd *archive_bfd) } else { + long storage = bfd_get_dynamic_symtab_upper_bound (abfd); + static_count = symcount; static_syms = minisyms; + + if (storage > 0) + { + dyn_syms = xmalloc (storage); + dyn_count = bfd_canonicalize_dynamic_symtab (abfd, dyn_syms); + if (dyn_count < 0) + bfd_fatal (bfd_get_filename (abfd)); + } } synth_count = bfd_get_synthetic_symtab (abfd, static_count, static_syms, dyn_count, dyn_syms, &synthsyms); |