aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2009-01-19 17:32:59 +0000
committerHans-Peter Nilsson <hp@axis.com>2009-01-19 17:32:59 +0000
commit451ffe6311473a8d39ae45944c7fa97f3fbc0ed9 (patch)
tree3bfa4c2bdbc2df1add561a1e4604d6b2a72bc236
parent37034390c95cdcfd4bc007f613737722fdd35dda (diff)
downloadbinutils-451ffe6311473a8d39ae45944c7fa97f3fbc0ed9.zip
binutils-451ffe6311473a8d39ae45944c7fa97f3fbc0ed9.tar.gz
binutils-451ffe6311473a8d39ae45944c7fa97f3fbc0ed9.tar.bz2
* elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
types than bfd_link_hash_indirect, before early return, call _bfd_elf_link_hash_copy_indirect.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-cris.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c2cc5e3..7539164 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-19 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
+ types than bfd_link_hash_indirect, before early return, call
+ _bfd_elf_link_hash_copy_indirect.
+
2009-01-19 Andrew Stubbs <ams@codesourcery.com>
* elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index dbc00ba..4b59d33 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -3055,7 +3055,11 @@ elf_cris_copy_indirect_symbol (struct bfd_link_info *info,
/* Only indirect symbols are replaced; we're not interested in
updating any of EIND's fields for other symbols. */
if (eind->root.root.type != bfd_link_hash_indirect)
- return;
+ {
+ /* Still, we need to copy flags for e.g. weak definitions. */
+ _bfd_elf_link_hash_copy_indirect (info, dir, ind);
+ return;
+ }
BFD_ASSERT (edir->pcrel_relocs_copied == NULL);
BFD_ASSERT (edir->gotplt_offset == 0 || eind->gotplt_offset == 0);