summaryrefslogtreecommitdiff
path: root/bfd/elf32-cris.c
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
commitbc9d1c6632ead96c3ca6e0f8187cb44daeecb8ab (patch)
tree25fc3fb5b6eb1ec14785ca0badcffa785a44e936 /bfd/elf32-cris.c
parent23c620a6332bab8218395d67c0507dff5e81b635 (diff)
downloadbinutils-redhat-bc9d1c6632ead96c3ca6e0f8187cb44daeecb8ab.tar.gz
* 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.
Diffstat (limited to 'bfd/elf32-cris.c')
-rw-r--r--bfd/elf32-cris.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index dbc00ba608..4b59d33e03 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);