bug-binutils
[Top][All Lists]
Advanced

[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: Fri, 12 Dec 2014 13:07:48 +0000

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

--- 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  6cabe1ea460c54c17ac877b2541eccf91d6b4b9c (commit)
      from  21daaaaffcbda47b724858dd99ee2082043ef2da (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=6cabe1ea460c54c17ac877b2541eccf91d6b4b9c

commit 6cabe1ea460c54c17ac877b2541eccf91d6b4b9c
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.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog       |   36 ++++++++++++++++++++++++++++++++++++
 bfd/elf-bfd.h       |    4 +++-
 bfd/elf-m10300.c    |    2 +-
 bfd/elf32-arm.c     |    2 +-
 bfd/elf32-cr16.c    |    2 +-
 bfd/elf32-cris.c    |    2 +-
 bfd/elf32-hppa.c    |    2 +-
 bfd/elf32-i370.c    |    2 +-
 bfd/elf32-i386.c    |    2 +-
 bfd/elf32-lm32.c    |    2 +-
 bfd/elf32-m32r.c    |    2 +-
 bfd/elf32-m68k.c    |    2 +-
 bfd/elf32-metag.c   |    2 +-
 bfd/elf32-or1k.c    |    2 +-
 bfd/elf32-ppc.c     |    2 +-
 bfd/elf32-s390.c    |    2 +-
 bfd/elf32-sh.c      |    2 +-
 bfd/elf32-tic6x.c   |    2 +-
 bfd/elf32-tilepro.c |    2 +-
 bfd/elf32-vax.c     |    2 +-
 bfd/elf64-ppc.c     |    2 +-
 bfd/elf64-s390.c    |    2 +-
 bfd/elf64-sh64.c    |    2 +-
 bfd/elf64-x86-64.c  |    2 +-
 bfd/elflink.c       |   13 ++++++++++++-
 bfd/elfnn-aarch64.c |    2 +-
 bfd/elfxx-mips.c    |    2 +-
 bfd/elfxx-sparc.c   |    2 +-
 bfd/elfxx-tilegx.c  |    2 +-
 29 files changed, 77 insertions(+), 28 deletions(-)

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