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

Reply via email to