diff options
author | Alan Modra <amodra@gmail.com> | 2016-09-26 18:04:57 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2016-09-26 18:04:57 +0930 |
commit | 005d79fd6101dae0aaf62a1b0cee399efcbd0e21 (patch) | |
tree | 4035e4a8d7549d7b66bd522e41b9f238202b8131 /bfd/elf-bfd.h | |
parent | 153679d55f9e74c369ca67444bdbaad82855cc6e (diff) | |
download | gdb-005d79fd6101dae0aaf62a1b0cee399efcbd0e21.zip gdb-005d79fd6101dae0aaf62a1b0cee399efcbd0e21.tar.gz gdb-005d79fd6101dae0aaf62a1b0cee399efcbd0e21.tar.bz2 |
PowerPC .gnu.attributes
This patch extends Tag_GNU_Power_ABI_FP to cover long double ABIs,
makes the assembler warn about undefined tag values, and removes
similar warnings from the linker. I think it is better to not
warn in the linker about undefined tag values as future extensions to
the tags then won't result in likely bogus warnings. This is
consistent with the fact that an older linker won't warn on an
entirely new tag.
include/
* elf/ppc.h (Tag_GNU_Power_ABI_FP): Comment.
bfd/
* elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
(ppc_elf_merge_obj_attributes): Use it. Don't copy first file
attributes, merge them. Don't warn about undefined tag bits,
or copy unknown values to output.
* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
_bfd_elf_ppc_merge_fp_attributes.
binutils/
* readelf.c (display_power_gnu_attribute): Catch truncated section
for all powerpc attributes. Display long double ABI. Don't
capitalize words, except for names. Show known bits of tag values
when some unknown bits are present. Whitespace fixes.
gas/
* config/tc-ppc.c (ppc_elf_gnu_attribute): New function.
(md_pseudo_table <ELF>): Handle "gnu_attribute".
ld/
* testsuite/ld-powerpc/attr-gnu-4-4.s: Delete.
* testsuite/ld-powerpc/attr-gnu-4-14.d: Delete.
* testsuite/ld-powerpc/attr-gnu-4-24.d: Delete.
* testsuite/ld-powerpc/attr-gnu-4-34.d: Delete.
* testsuite/ld-powerpc/attr-gnu-4-41.d: Delete.
* testsuite/ld-powerpc/attr-gnu-4-32.d: Adjust expected warning.
* testsuite/ld-powerpc/attr-gnu-8-23.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-01.d: Adjust expected output.
* testsuite/ld-powerpc/attr-gnu-4-02.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-03.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-10.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-11.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-20.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-22.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-33.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-8-11.d: Likewise.
* testsuite/ld-powerpc/powerpc.exp: Don't run deleted tests.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index c58bd4f..ed2137e 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -2393,6 +2393,8 @@ extern unsigned int _bfd_elf_ppc_at_tprel_transform (unsigned int, unsigned int); /* PowerPC elf_object_p tweak. */ extern bfd_boolean _bfd_elf_ppc_set_arch (bfd *); +/* PowerPC .gnu.attributes handling common to both 32-bit and 64-bit. */ +extern void _bfd_elf_ppc_merge_fp_attributes (bfd *, bfd *); /* Exported interface for writing elf corefile notes. */ extern char *elfcore_write_note |