diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2014-12-02 15:14:28 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2014-12-02 15:19:25 -0800 |
commit | 9a926d55ab4b6667f6c35b518d59b902fe490d9d (patch) | |
tree | 65a4ca69cf169316c6fcfe5f02abe413ac5e75f0 /bfd/ChangeLog | |
parent | 5da3ffc99d0ec7d0770b4fcf8830ffe05d39b1b8 (diff) | |
download | gdb-9a926d55ab4b6667f6c35b518d59b902fe490d9d.zip gdb-9a926d55ab4b6667f6c35b518d59b902fe490d9d.tar.gz gdb-9a926d55ab4b6667f6c35b518d59b902fe490d9d.tar.bz2 |
X86-64: Allow copy relocs for building PIE
This patch allows copy relocs for non-GOT pc-relative relocation in PIE.
bfd/
* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always
allow copy relocs for building executables.
(elf_x86_64_check_relocs): Allow copy relocs for non-GOT
pc-relative relocation in shared object.
(elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for
PIE.
(elf_x86_64_relocate_section): Don't copy a pc-relative
relocation into the output file if the symbol needs copy reloc.
ld/testsuite/
* ld-x86-64/copyreloc-lib.c: New file.
* ld-x86-64/copyreloc-main.c: Likewise.
* ld-x86-64/copyreloc-main.out: Likewise.
* ld-x86-64/copyreloc-main1.rd: Likewise.
* ld-x86-64/copyreloc-main2.rd: Likewise.
* ld-x86-64/x86-64.exp: Run copyreloc tests.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 010cf55..434db31 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,14 @@ +2014-12-02 H.J. Lu <hongjiu.lu@intel.com> + + * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always + allow copy relocs for building executables. + (elf_x86_64_check_relocs): Allow copy relocs for non-GOT + pc-relative relocation in shared object. + (elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for + PIE. + (elf_x86_64_relocate_section): Don't copy a pc-relative + relocation into the output file if the symbol needs copy reloc. + 2014-12-02 Andrew Bennett <andrew.bennett@imgtec.com> * elfxx-mips.c (mips_elf_calculate_relocation): Only check for |