summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2012-12-06 00:09:12 +0000
committerAlan Modra <amodra@bigpond.net.au>2012-12-06 00:09:12 +0000
commit2bee92c3777bfb83a32a0658997401014a349c27 (patch)
tree12e84dad1d8ecbdab9a733ef159d214330cedbae
parent432334c3f18cc5b08f2769eeb1d6950fdf34b1fc (diff)
downloadgdb-2bee92c3777bfb83a32a0658997401014a349c27.tar.gz
* elfxx-mips.c (allocate_dynrelocs): Correct test for symbol
defined in a regular file to include common symbols.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elfxx-mips.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 46095f7aac8..3b91a8556cc 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2012-12-06 Alan Modra <amodra@gmail.com>
+
+ * elfxx-mips.c (allocate_dynrelocs): Correct test for symbol
+ defined in a regular file to include common symbols.
+
2012-12-05 Leif Ekblad <leif@rdos.net>
* config.bfd: Add x86_64-*-rdos.
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index a4aa125c0ee..40362734050 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -8568,7 +8568,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (! info->relocatable
&& hmips->possibly_dynamic_relocs != 0
&& (h->root.type == bfd_link_hash_defweak
- || !h->def_regular
+ || (!h->def_regular && !ELF_COMMON_DEF_P (h))
|| info->shared))
{
bfd_boolean do_copy = TRUE;