aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-cris.c3
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,