aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elflink.h5
2 files changed, 10 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index cc54f3c..c9f0efe 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-13 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
+ definitions in shared objects when checking symbol with
+ undefined version.
+
2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
* elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 0840f8e..480bd17 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -3068,8 +3068,11 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath,
}
free (newname);
- /* Mark this version if there is a definition. */
+ /* Mark this version if there is a definition and it is
+ not defined in a shared object. */
if (newh != NULL
+ && ((newh->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) == 0)
&& (newh->root.type == bfd_link_hash_defined
|| newh->root.type == bfd_link_hash_defweak))
d->symver = 1;