diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-cris.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d7ab3e2..1dd0ec8 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2002-08-15 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add + missing check for whether the symbol is referenced by DSO before + unexporting it as an unneeded dynamic symbol. + 2002-08-14 H.J. Lu <hjl@gnu.org> * libbfd.h: Regenerate. diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index afe74bd..8eff52d 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -2917,7 +2917,8 @@ elf_cris_discard_excess_program_dynamics (h, inf) functions; doing this for all symbols would presumably not introduce new problems. Of course we don't do this if we're exporting all dynamic symbols. */ - if (! info->export_dynamic) + if (! info->export_dynamic + && (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) { h->root.dynindx = -1; _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, |