diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-05-27 14:32:24 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-05-27 14:32:24 -0700 |
commit | 8ded2ddc8bac501c1ee0706cb3d3ef3fb1c10b85 (patch) | |
tree | e9aa707387d1a08ca901853b0b1887839590338e /bfd/ChangeLog | |
parent | 924c2928ae3f7a9fa1130103e6a83ff2b1ff17dd (diff) | |
download | gdb-8ded2ddc8bac501c1ee0706cb3d3ef3fb1c10b85.zip gdb-8ded2ddc8bac501c1ee0706cb3d3ef3fb1c10b85.tar.gz gdb-8ded2ddc8bac501c1ee0706cb3d3ef3fb1c10b85.tar.bz2 |
Convert PLT reloc only if pointer equality isn't needed
When pointer equality needed, we can't replace PLT relocations with
GOT relocations for -z now. This patch checks if pointer equality is
needed before converting PLT relocations to GOT relocations.
bfd/
PR binutils/18458
* elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
for now binding only if pointer equality isn't needed.
(elf_i386_allocate_dynrelocs): Use .plt.got section for now
binding only if pointer equality isn't needed.
* elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
section for now binding only if pointer equality isn't needed.
(elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
binding only if pointer equality isn't needed.
ld/testsuite/
PR binutils/18458
* ld-elf/shared.exp (build_tests): Build libpr18458a.so and
libpr18458b.so.
(run_tests): Run pr18458 test.
* ld-elf/pr18458a.c: New file.
* ld-elf/pr18458b.c: Likewise.
* ld-elf/pr18458c.c: Likewise.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 87a0bff..a8a0ad9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,15 @@ +2015-05-27 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/18458 + * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section + for now binding only if pointer equality isn't needed. + (elf_i386_allocate_dynrelocs): Use .plt.got section for now + binding only if pointer equality isn't needed. + * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got + section for now binding only if pointer equality isn't needed. + (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now + binding only if pointer equality isn't needed. + 2015-05-26 H.J. Lu <hongjiu.lu@intel.com> PR binutils/18437 |