* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
authorHans-Peter Nilsson <hp@axis.com>
Thu, 15 Aug 2002 05:20:54 +0000 (05:20 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Thu, 15 Aug 2002 05:20:54 +0000 (05:20 +0000)
missing check for whether the symbol is referenced by DSO before
unexporting it as an unneeded dynamic symbol.

bfd/ChangeLog
bfd/elf32-cris.c

index d7ab3e21b8f14935d4f111924fcc0ad78b93ac91..1dd0ec856dfe7c4236e3fd47f118bbfd1fbf91ab 100644 (file)
@@ -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.
index afe74bd71b6bb7a2e85ffa27dc550559394b1bc7..8eff52dd5ade384bb1f16f6f700854f5fa4c53e4 100644 (file)
@@ -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,