bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/17709] [2.26 Regression] elf/vismain test in glibc failed


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/17709] [2.26 Regression] elf/vismain test in glibc failed
Date: Fri, 10 Apr 2015 18:19:20 +0000

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

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by H.J. Lu <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f74839702efcea048ac61374b1539ae81e7c86cc

commit f74839702efcea048ac61374b1539ae81e7c86cc
Author: H.J. Lu <address@hidden>
Date:   Thu Mar 5 06:34:39 2015 -0800

    Add extern_protected_data and set it for x86

    Re-apply: commit ca3fe95e469b9daec153caa2c90665f5daaec2b5

    With copy relocation, address of protected data defined in the shared
    library may be external.  This patch adds extern_protected_data and
    changes _bfd_elf_symbol_refs_local_p to return false for protected data
    if extern_protected_data is true.

    This patch will break building shared libraries with protected data
    symbols using GCCs older than GCC 5 without the bug fix for

    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248

    GCC backport request should be made in the GCC bug report above.

    To get correct run-time behavior on Linux, glibc 2.22 or above are
    required, which have the bug fix for

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

    Backports for glibc 2.21, 2.20, 2.19 and 2.18 are on hjl/pr17711/2.21,
    hjl/pr17711/2.20, hjl/pr17711/2.19 and hjl/pr17711/2.18 branches,
    respectively, at

    https://sourceware.org/git/?p=glibc.git;a=summary

    bfd/

        PR ld/pr15228
        PR ld/pr17709
        * elf-bfd.h (elf_backend_data): Add extern_protected_data.
        * elf32-i386.c (elf_backend_extern_protected_data): New.
        Defined to 1.
        * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
        * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
        copy relocs against protected symbols if extern_protected_data
        is true.
        (_bfd_elf_symbol_refs_local_p): Don't return true on protected
        non-function symbols if extern_protected_data is true.
        * elfxx-target.h (elf_backend_extern_protected_data): New.
        Default to 0.
        (elfNN_bed): Initialize extern_protected_data with
        elf_backend_extern_protected_data.

    ld/testsuite/

        PR ld/pr15228
        PR ld/pr17709
        * ld-i386/i386.exp (i386tests): Add a test for PR ld/17709.
        * ld-i386/pr17709-nacl.rd: New file.
        * ld-i386/pr17709.rd: Likewise.
        * ld-i386/pr17709a.s: Likewise.
        * ld-i386/pr17709b.s: Likewise.
        * ld-i386/protected3.d: Updated.
        * ld-i386/protected3.s: Likewise.
        * ld-x86-64/pr17709-nacl.rd: New file.
        * ld-x86-64/pr17709.rd: Likewise.
        * ld-x86-64/pr17709a.s: Likewise.
        * ld-x86-64/pr17709b.s: Likewise.
        * ld-x86-64/protected3.d: Updated.
        * ld-x86-64/protected3.s: Likewise.
        * ld-x86-64/x86-64.exp (x86_64tests): Add a test for PR ld/17709.

-- 
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]