summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 062d9e4fe0..ff5c1bc288 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_merge_symbol): Skip weak redefinition
+ regardless of strength of previous definition.
+
2005-07-26 Alan Modra <amodra@bigpond.net.au>
* elflink.c (elf_gc_mark_dynamic_ref_symbol): Handle -shared.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 102b895f0a..98fee0ce4b 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -1216,7 +1216,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
}
/* Skip weak definitions of symbols that are already defined. */
- if (newdef && olddef && newweak && !oldweak)
+ if (newdef && olddef && newweak)
*skip = TRUE;
/* If the old symbol is from a dynamic object, and the new symbol is