diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2010-04-30 18:27:32 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2010-04-30 18:27:32 +0000 |
commit | 0672748ac053cc4f8159af0d21ca88ae8b3778e6 (patch) | |
tree | 6ce1177f0a49e04ca388d25edc23db44dd3fd1b3 /bfd/elf32-i386.c | |
parent | 705b5767b7302e9fdd64d2a2ec5942ff22975a98 (diff) | |
download | gdb-0672748ac053cc4f8159af0d21ca88ae8b3778e6.zip gdb-0672748ac053cc4f8159af0d21ca88ae8b3778e6.tar.gz gdb-0672748ac053cc4f8159af0d21ca88ae8b3778e6.tar.bz2 |
Remove relocation against discarded sections for relocatable link.
bfd/
2010-04-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11542
* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): New.
* elf32-i386.c (elf_i386_relocate_section): Use it.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
ld/testsuite/
2010-04-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11542
* ld-elf/discard.ld: New.
* ld-elf/discard1.d: Likewise.
* ld-elf/discard1.s: Likewise.
* ld-elf/discard2.d: Likewise.
* ld-elf/discard2.s: Likewise.
* ld-elf/discard3.d: Likewise.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r-- | bfd/elf32-i386.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 395a6bb..7964c4f 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2955,15 +2955,8 @@ elf_i386_relocate_section (bfd *output_bfd, } if (sec != NULL && elf_discarded_section (sec)) - { - /* For relocs against symbols from removed linkonce sections, - or sections discarded by a linker script, we just want the - section contents zeroed. Avoid any special processing. */ - _bfd_clear_contents (howto, input_bfd, contents + rel->r_offset); - rel->r_info = 0; - rel->r_addend = 0; - continue; - } + RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, + rel, relend, howto, contents); if (info->relocatable) continue; |