From 451ffe6311473a8d39ae45944c7fa97f3fbc0ed9 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Mon, 19 Jan 2009 17:32:59 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-cris.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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 + + * 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 * 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); -- 2.7.4