summaryrefslogtreecommitdiff
path: root/binutils/nm.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2005-01-25 10:33:55 +0000
committerAlan Modra <amodra@bigpond.net.au>2005-01-25 10:33:55 +0000
commite71dd5e72eeeabb135cfcda245cae530fc1e9530 (patch)
treed744ad8fda8205466458fe00bb14b46e2e971540 /binutils/nm.c
parente86cc6a893680298e9eb305a91d9c52b26e9039a (diff)
downloadbinutils-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.c12
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);