mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-29 16:38:05 +08:00
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.
This commit is contained in:
@ -219,11 +219,18 @@ END_RELOC_NUMBERS (R_PPC_max)
|
||||
enum
|
||||
{
|
||||
/* 0-3 are generic. */
|
||||
Tag_GNU_Power_ABI_FP = 4, /* Value 1 for hard-float, 2 for
|
||||
soft-float, 3 for single=precision
|
||||
hard-float; 0 for not tagged or not
|
||||
using any ABIs affected by the
|
||||
differences. */
|
||||
|
||||
/* FP ABI, low 2 bits:
|
||||
1 for double precision hard-float,
|
||||
2 for soft-float,
|
||||
3 for single precision hard-float.
|
||||
0 for not tagged or not using any ABIs affected by the differences.
|
||||
Next 2 bits:
|
||||
1 for ibm long double
|
||||
2 for 64-bit long double
|
||||
3 for IEEE long double.
|
||||
0 for not tagged or not using any ABIs affected by the differences. */
|
||||
Tag_GNU_Power_ABI_FP = 4,
|
||||
|
||||
/* Value 1 for general purpose registers only, 2 for AltiVec
|
||||
registers, 3 for SPE registers; 0 for not tagged or not using any
|
||||
|
Reference in New Issue
Block a user