summaryrefslogtreecommitdiff
path: root/bfd/elf32-cris.c
diff options
context:
space:
mode:
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);