bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/17689] PIE copy relocations handling broken with ld.bfd


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/17689] PIE copy relocations handling broken with ld.bfd
Date: Sun, 14 Dec 2014 07:53:35 +0000

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 <address@hidden>
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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]