gdb and binutils branch binutils-2_24-branch updated. 378219821465273a1826c13364369a92f01ea493
amodra@sourceware.org
amodra@sourceware.org
Thu Jun 12 15:32:00 GMT 2014
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, binutils-2_24-branch has been updated
via 378219821465273a1826c13364369a92f01ea493 (commit)
from ed5869dc3a333c7e9c5ffab8016b6c4bff48d1d6 (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=378219821465273a1826c13364369a92f01ea493
commit 378219821465273a1826c13364369a92f01ea493
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 | 11 ++++
bfd/elf64-ppc.c | 106 +++++++++++++++++++-------------
ld/testsuite/ChangeLog | 6 ++
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, 141 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
More information about the Binutils-cvs
mailing list