summaryrefslogtreecommitdiff
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2010-04-30 18:27:25 +0000
committerH.J. Lu <hjl.tools@gmail.com>2010-04-30 18:27:25 +0000
commit44d80d007388ac25d44900265a82ad3cffee45bf (patch)
treebe1b3cf6f12dea66037254abda43040c4b14938a /bfd/elf32-i386.c
parentb1a5216d3aded7df097228682b0320f7ee2e82e7 (diff)
downloadbinutils-redhat-44d80d007388ac25d44900265a82ad3cffee45bf.tar.gz
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.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 395a6bbef8..7964c4fd6e 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;