* elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
authorHans-Peter Nilsson <hp@axis.com>
Mon, 19 Jan 2009 17:32:59 +0000 (17:32 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Mon, 19 Jan 2009 17:32:59 +0000 (17:32 +0000)
types than bfd_link_hash_indirect, before early return, call
_bfd_elf_link_hash_copy_indirect.

bfd/ChangeLog
bfd/elf32-cris.c

index c2cc5e3..7539164 100644 (file)
@@ -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.
index dbc00ba..4b59d33 100644 (file)
@@ -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);