This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb and binutils branch master updated. f6c7c3e8b742de0a5926e6a2c268f5803062b556


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  f6c7c3e8b742de0a5926e6a2c268f5803062b556 (commit)
      from  0d4d0e772ac36d169d21951c46b0778ae7fa8d53 (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=f6c7c3e8b742de0a5926e6a2c268f5803062b556

commit f6c7c3e8b742de0a5926e6a2c268f5803062b556
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 25 15:12:48 2014 +1030

    Referencing a function's address on PowerPC64 ELFv2
    
    ELFv2 needs to create plt entries in a non-PIC executable for an
    address reference to a function defined in a shared object.  It's
    possible that an object file has no features that distinguish it as
    ELFv1 or ELFv2, eg. an object only containing data.  Such files need
    to be handled like those that are known to be ELFv2.
    However, this unnecessarily creates plt entries for the analogous
    ELFv1 case, so arrange to set output abi version earlier, and use the
    output abi version to further distinguish ambiguous input files.
    
    bfd/
    	* elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
    	needed plt entries when taking the address of functions for
    	abiversion == 0 (ie. unknown) as well as abiversion == 2.
    	Move opd setup and abiversion checks to..
    	(ppc64_elf_before_check_relocs): ..here.  Renamed from
    	ppc64_elf_process_dot_syms.  Set output abiversion from input and
    	input abiversion from output, if either is not set.
    	(ppc64_elf_merge_private_bfd_data): Don't merge flags here.
    	(elf_backend_check_directives): Update.
    ld/testsuite/
    	* ld-powerpc/startv1.s, * ld-powerpc/startv2.s, * ld-powerpc/funref.s,
    	* ld-powerpc/funv1.s, * ld-powerpc/funv2.s,
    	* ld-powerpc/ambiguousv1.d, * ld-powerpc/ambiguousv2.d: New test files.
    	* ld-powerpc/powerpc.exp: Run new tests.

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

Summary of changes:
 bfd/ChangeLog                         |   12 ++++
 bfd/elf64-ppc.c                       |  106 +++++++++++++++++++-------------
 ld/testsuite/ChangeLog                |    7 ++
 ld/testsuite/ld-powerpc/ambiguousv1.d |   12 ++++
 ld/testsuite/ld-powerpc/ambiguousv2.d |   12 ++++
 ld/testsuite/ld-powerpc/funref.s      |    4 +
 ld/testsuite/ld-powerpc/funv1.s       |   10 +++
 ld/testsuite/ld-powerpc/funv2.s       |    6 ++
 ld/testsuite/ld-powerpc/powerpc.exp   |    4 +
 ld/testsuite/ld-powerpc/startv1.s     |    8 +++
 ld/testsuite/ld-powerpc/startv2.s     |    5 ++
 11 files changed, 143 insertions(+), 43 deletions(-)
 create mode 100644 ld/testsuite/ld-powerpc/ambiguousv1.d
 create mode 100644 ld/testsuite/ld-powerpc/ambiguousv2.d
 create mode 100644 ld/testsuite/ld-powerpc/funref.s
 create mode 100644 ld/testsuite/ld-powerpc/funv1.s
 create mode 100644 ld/testsuite/ld-powerpc/funv2.s
 create mode 100644 ld/testsuite/ld-powerpc/startv1.s
 create mode 100644 ld/testsuite/ld-powerpc/startv2.s


hooks/post-receive
-- 
gdb and binutils


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]