]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
PowerPC .gnu.attributes
authorAlan Modra <amodra@gmail.com>
Mon, 26 Sep 2016 08:34:57 +0000 (18:04 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 9 Mar 2017 08:41:15 +0000 (19:11 +1030)
commitea5189f99474364e6f0d066e5da2960e56596e4b
tree7dfc33efbda8cb927044a4d16197a3375e75d81a
parent7e33c17c62f9cb4d61aa5aab241e441b14bfc232
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.
28 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf32-ppc.c
bfd/elf64-ppc.c
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/config/tc-ppc.c
include/ChangeLog
include/elf/ppc.h
ld/ChangeLog
ld/testsuite/ld-powerpc/attr-gnu-4-01.d
ld/testsuite/ld-powerpc/attr-gnu-4-02.d
ld/testsuite/ld-powerpc/attr-gnu-4-03.d
ld/testsuite/ld-powerpc/attr-gnu-4-10.d
ld/testsuite/ld-powerpc/attr-gnu-4-11.d
ld/testsuite/ld-powerpc/attr-gnu-4-14.d [deleted file]
ld/testsuite/ld-powerpc/attr-gnu-4-20.d
ld/testsuite/ld-powerpc/attr-gnu-4-22.d
ld/testsuite/ld-powerpc/attr-gnu-4-24.d [deleted file]
ld/testsuite/ld-powerpc/attr-gnu-4-32.d
ld/testsuite/ld-powerpc/attr-gnu-4-33.d
ld/testsuite/ld-powerpc/attr-gnu-4-34.d [deleted file]
ld/testsuite/ld-powerpc/attr-gnu-4-4.s [deleted file]
ld/testsuite/ld-powerpc/attr-gnu-4-41.d [deleted file]
ld/testsuite/ld-powerpc/attr-gnu-8-11.d
ld/testsuite/ld-powerpc/attr-gnu-8-23.d
ld/testsuite/ld-powerpc/powerpc.exp