Browse Source

Fix generic linker symbol output when weak is overridden by strong

Yes, I know this also affects bfd_link_hash_indirect, but output of
indirect and warning symbols looks quite broken anyway.

	* linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK
	flag from bfd_link_hash_defined symbols.
gdb-7.9-branch
Alan Modra 11 years ago
parent
commit
d5111a0e03
  1. 5
      bfd/ChangeLog
  2. 2
      bfd/linker.c

5
bfd/ChangeLog

@ -1,3 +1,8 @@
2014-12-24 Alan Modra <amodra@gmail.com>
* linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK
flag from bfd_link_hash_defined symbols.
2014-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
* elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set

2
bfd/linker.c

@ -2136,7 +2136,7 @@ _bfd_generic_link_output_symbols (bfd *output_bfd,
/* fall through */
case bfd_link_hash_defined:
sym->flags |= BSF_GLOBAL;
sym->flags &=~ BSF_CONSTRUCTOR;
sym->flags &=~ (BSF_WEAK | BSF_CONSTRUCTOR);
sym->value = h->root.u.def.value;
sym->section = h->root.u.def.section;
break;

Loading…
Cancel
Save