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:18 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=17689

--- Comment #1 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, master has been updated
       via  bc696fd5af08fa199750abfca092894ab54206c7 (commit)
      from  94ec908766bbe8c146798754261bcce83572b00f (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=bc696fd5af08fa199750abfca092894ab54206c7

commit bc696fd5af08fa199750abfca092894ab54206c7
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                                      |   17 ++++++++++++
 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, 96 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]