[Top][All Lists]

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

[Bug ld/24151] Regression about copy relocation of protected data

From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/24151] Regression about copy relocation of protected data
Date: Sun, 10 Feb 2019 13:52:47 +0000


--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_31-branch branch has been updated by H.J. Lu


commit c83ac8021a7649c148cb344870d8ce711eecc3c6
Author: H.J. Lu <address@hidden>
Date:   Tue Feb 5 18:45:23 2019 -0800

    x86-64: Restore PIC check for PCREL reloc against protected symbol

    commit bd7ab16b4537788ad53521c45469a1bdae84ad4a
    Author: H.J. Lu <address@hidden>
    Date:   Tue Feb 13 07:34:22 2018 -0800

        x86-64: Generate branch with PLT32 relocation

    removed check R_X86_64_PC32 relocation against protected symbols in
    shared objects.  Since elf_x86_64_check_relocs is called after we
    have seen all input files, we can check for PC-relative relocations in
    elf_x86_64_check_relocs.  We should not allow PC-relative relocations
    against protected symbols since address of protected function and
    location of protected data may not be in the shared object.


        PR ld/24151
        * elf64-x86-64.c (elf_x86_64_need_pic): Check
        SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
        (elf_x86_64_relocate_section): Move PIC check for PC-relative
        relocations to ...
        (elf_x86_64_check_relocs): Here.
        (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
        to check if a symbol is defined in a non-shared object.
        * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.


        PR ld/24151
        * testsuite/ld-x86-64/pr24151a-x32.d: New file.
        * testsuite/ld-x86-64/pr24151a.d: Likewise.
        * testsuite/ld-x86-64/pr24151a.s: Likewise.
        * testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32.

    (cherry picked from commit 83924b3846361f2f76f9a6e7b5afa01c0eebbd4f)

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]