diff options
author | Alan Modra <amodra@gmail.com> | 2018-07-04 10:41:31 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-07-05 10:21:37 +0930 |
commit | 4a91d0ba307eb24eb87ad27f4ea8fcde823c3e61 (patch) | |
tree | cae93839f5cc850613fa794e7ca1cf52102aebc6 /bfd/elf64-ppc.c | |
parent | 4423fa967210f4132b81d5fe80a1f6f3ec0ab1c8 (diff) | |
download | gdb-4a91d0ba307eb24eb87ad27f4ea8fcde823c3e61.zip gdb-4a91d0ba307eb24eb87ad27f4ea8fcde823c3e61.tar.gz gdb-4a91d0ba307eb24eb87ad27f4ea8fcde823c3e61.tar.bz2 |
Error for mismatched powerpc ABI tags
And report the two input files that are incompatible rather than
reporting that an input file is incompatible with the output.
bfd/
* elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype.
* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error
on mismatch. Remove "warning: " from messages. Track last bfd
used to set tags.
(ppc_elf_merge_obj_attributes): Likewise. Handle status from
_bfd_elf_ppc_merge_fp_attributes.
* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status
from _bfd_elf_ppc_merge_fp_attributes.
ld/
* testsuite/ld-powerpc/attr-gnu-4-12.d: Update expected output.
* testsuite/ld-powerpc/attr-gnu-4-13.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-21.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-23.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-31.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-32.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-8-23.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-12-21.d: Likewise.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r-- | bfd/elf64-ppc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 894a3b7..b780f1a 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -6177,7 +6177,8 @@ ppc64_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info) return FALSE; } - _bfd_elf_ppc_merge_fp_attributes (ibfd, info); + if (!_bfd_elf_ppc_merge_fp_attributes (ibfd, info)) + return FALSE; /* Merge Tag_compatibility attributes and any common GNU ones. */ return _bfd_elf_merge_object_attributes (ibfd, info); |