Unwrap symbols for debug information
authorAlan Modra <amodra@gmail.com>
Tue, 10 Jun 2014 12:20:21 +0000 (21:50 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 10 Jun 2014 13:30:22 +0000 (23:00 +0930)
commit8a5da09b9e326a19e78b20a1021a5148ea0484b0
treee925755d23c841b430e3e5f083c9edb22871ce7b
parent0e58ee40a2cec3c4bf796980fb05f93540e40ec2
Unwrap symbols for debug information

Fixes issues with dwz multi-file (-m) and ld's -wrap option.
Symbols referenced from DWARF debug info in a separate file, eg. to
specify low and high pc, must use the real symbol.  The DWARF info
is specifying attributes of the real function, not one interposed
with --wrap.

include/
* bfdlink.h (unwrap_hash_lookup): Declare.
bfd/
* linker.c (unwrap_hash_lookup): New function.
* elf-bfd (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
* elf32-spu.c (spu_elf_relocate_section): Likewise.
* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
bfd/elf-bfd.h
bfd/elf32-i370.c
bfd/elf32-m32c.c
bfd/elf32-m32r.c
bfd/elf32-score.c
bfd/elf32-score7.c
bfd/elf32-spu.c
bfd/elf64-hppa.c
bfd/linker.c
include/bfdlink.h