[Top][All Lists]

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

[Bug ld/15228] copy relocations against protected symbols should be disa

From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/15228] copy relocations against protected symbols should be disallowed
Date: Wed, 11 Feb 2015 12:49:16 +0000


--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_25-branch branch has been updated by Alan Modra


commit 9175ae119052a791bc56daa2dd653d06ae2167c2
Author: Alan Modra <address@hidden>
Date:   Fri Dec 12 22:53:46 2014 +1030

    Copy relocations against protected symbols

    Copy relocs are used in a scheme to avoid dynamic text relocations in
    non-PIC executables that refer to variables defined in shared
    libraries.  The idea is to have the linker define any such variable in
    the executable, with a copy reloc copying the initial value, then have
    both the executable and shared library refer to the executable copy.
    If the shared library defines the variable as protected then we have
    two copies of the variable being used.

        PR 15228
        * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param.
        Error on copy relocs against protected symbols.
        (elf_merge_st_other): Set h->protected_def.
        * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def".
        (_bfd_elf_adjust_dynamic_copy): Update prototype.
        * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update
        _bfd_elf_adjust_dynamic_copy call.
        * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
        * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
        * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
        * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
        * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
        * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
        * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
        * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
        * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
        * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise.
        * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise.
        * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
        * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
        * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
        * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
        * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
        * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
        * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
        * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
        * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
        * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
        * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
        * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.

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]