https://sourceware.org/bugzilla/show_bug.cgi?id=17689
--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, binutils-2_25-branch has been updated via 3e5d8b05745a9fa1d9ad120459143e6e36cfbde0 (commit) from 27cef631a78b56f8ad030ba6231432e04cc1838e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3e5d8b05745a9fa1d9ad120459143e6e36cfbde0 commit 3e5d8b05745a9fa1d9ad120459143e6e36cfbde0 Author: H.J. Lu <hjl.to...@gmail.com> Date: Sat Dec 13 23:37:22 2014 -0800 Handle weak alias for PIE with copy reloc When there is a weak symbol with a real definition, the processor independent code will have arranged for us to see the real definition first. We need to copy the needs_copy bit from the real definition and check it when allowing copy reloc in PIE. bfd/ PR ld/17689 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy. Change has_bnd_reloc to bit field. (elf_x86_64_link_hash_newfunc): Initialize needs_copy and has_bnd_reloc to 0. (elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead of TRUE. (elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the real definition to a weak symbol. (elf_x86_64_allocate_dynrelocs): Also check needs_copy of a weak symbol for PIE when discarding space for relocs against symbols which turn out to need copy relocs. (elf_x86_64_relocate_section): Also check needs_copy of a weak symbol for PIE with copy reloc. ld/testsuite/ PR ld/17689 * ld-x86-64/pr17689.out: New file. * ld-x86-64/pr17689.rd: Likewise. * ld-x86-64/pr17689a.c: Likewise. * ld-x86-64/pr17689b.S: Likewise. * ld-x86-64/x86-64.exp: Run PR ld/17689 tests. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 22 ++++++++++++++++ bfd/elf64-x86-64.c | 27 ++++++++++++++----- ld/testsuite/ChangeLog | 10 +++++++ .../{ld-elf/dl5.out => ld-x86-64/pr17689.out} | 0 ld/testsuite/ld-x86-64/pr17689.rd | 3 ++ ld/testsuite/ld-x86-64/pr17689a.c | 10 +++++++ ld/testsuite/ld-x86-64/pr17689b.S | 12 +++++++++ ld/testsuite/ld-x86-64/x86-64.exp | 24 +++++++++++++++++ 8 files changed, 101 insertions(+), 7 deletions(-) copy ld/testsuite/{ld-elf/dl5.out => ld-x86-64/pr17689.out} (100%) create mode 100644 ld/testsuite/ld-x86-64/pr17689.rd create mode 100644 ld/testsuite/ld-x86-64/pr17689a.c create mode 100644 ld/testsuite/ld-x86-64/pr17689b.S -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils