mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-23 12:09:49 +00:00
[ARM]Update for Tag_ABI_HardFP_use per EABI doc
Updated how we merge and display this attribute per the latest EABI documents. bfd/ChangeLog * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we merge Tag_ABI_HardFP_use. binutils/ChangeLog * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we display it. ld/testsuite/ChangeLog * ld-arm/attr-merge-3.attr: Remove Tag_ABI_HardFP_use. * ld-arm/attr-merge-vfp-10.d: Likewise. * ld-arm/attr-merge-vfp-10r.d: Likewise. * ld-arm/attr-merge-vfp-12.d: Likewise. * ld-arm/attr-merge-vfp-12r.d: Likewise. * ld-arm/attr-merge-vfp-13.d: Likewise. * ld-arm/attr-merge-vfp-13r.d: Likewise. * ld-arm/attr-merge-vfp-14.d: Likewise. * ld-arm/attr-merge-vfp-14r.d: Likewise. * ld-arm/attr-merge-vfp-6.d: Likewise. * ld-arm/attr-merge-vfp-6r.d: Likewise. * ld-arm/attr-merge-vfp-7.d: Likewise. * ld-arm/attr-merge-vfp-7r.d: Likewise. * ld-arm/attr-merge-vfp-8.d: Likewise. * ld-arm/attr-merge-vfp-8r.d: Likewise.
This commit is contained in:
parent
a127494f2d
commit
99654aaf36
@ -1,3 +1,8 @@
|
||||
2015-02-26 Terry Guo <terry.guo@arm.com>
|
||||
|
||||
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
|
||||
merge Tag_ABI_HardFP_use.
|
||||
|
||||
2015-02-26 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
|
||||
|
@ -11972,7 +11972,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
|
||||
/* Tag_ABI_HardFP_use is handled along with Tag_FP_arch since
|
||||
the meaning of Tag_ABI_HardFP_use depends on Tag_FP_arch
|
||||
when it's 0. It might mean absence of FP hardware if
|
||||
Tag_FP_arch is zero, otherwise it is effectively SP + DP. */
|
||||
Tag_FP_arch is zero. */
|
||||
|
||||
#define VFP_VERSION_COUNT 9
|
||||
static const struct
|
||||
@ -12014,7 +12014,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
|
||||
}
|
||||
|
||||
/* Both the input and the output have nonzero Tag_FP_arch.
|
||||
So Tag_ABI_HardFP_use is (SP & DP) when it's zero. */
|
||||
So Tag_ABI_HardFP_use is implied by Tag_FP_arch when it's zero. */
|
||||
|
||||
/* If both the input and the output have zero Tag_ABI_HardFP_use,
|
||||
do nothing. */
|
||||
@ -12022,10 +12022,10 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
|
||||
&& out_attr[Tag_ABI_HardFP_use].i == 0)
|
||||
;
|
||||
/* If the input and the output have different Tag_ABI_HardFP_use,
|
||||
the combination of them is 3 (SP & DP). */
|
||||
the combination of them is 0 (implied by Tag_FP_arch). */
|
||||
else if (in_attr[Tag_ABI_HardFP_use].i
|
||||
!= out_attr[Tag_ABI_HardFP_use].i)
|
||||
out_attr[Tag_ABI_HardFP_use].i = 3;
|
||||
out_attr[Tag_ABI_HardFP_use].i = 0;
|
||||
|
||||
/* Now we can handle Tag_FP_arch. */
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-02-26 Terry Guo <terry.guo@arm.com>
|
||||
|
||||
* readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we
|
||||
display it.
|
||||
|
||||
2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* objcopy.c (init_section_add): New function.
|
||||
|
@ -12376,7 +12376,7 @@ static const char * arm_attr_tag_ABI_FP_number_model[] =
|
||||
static const char * arm_attr_tag_ABI_enum_size[] =
|
||||
{"Unused", "small", "int", "forced to int"};
|
||||
static const char * arm_attr_tag_ABI_HardFP_use[] =
|
||||
{"As Tag_FP_arch", "SP only", "DP only", "SP and DP"};
|
||||
{"As Tag_FP_arch", "SP only", "Reserved", "Deprecated"};
|
||||
static const char * arm_attr_tag_ABI_VFP_args[] =
|
||||
{"AAPCS", "VFP registers", "custom", "compatible"};
|
||||
static const char * arm_attr_tag_ABI_WMMX_args[] =
|
||||
|
14
gas/testsuite/gas/arm/attr-abi-hardfp-use-0.d
Normal file
14
gas/testsuite/gas/arm/attr-abi-hardfp-use-0.d
Normal file
@ -0,0 +1,14 @@
|
||||
# name: EABI attribute Tag_ABI_HardFP_use with value 0
|
||||
# source: attr-abi-hardfp-use-0.s
|
||||
# as:
|
||||
# readelf: -A
|
||||
# This test is only valid on EABI based ports.
|
||||
# target: *-*-*eabi* *-*-nacl*
|
||||
|
||||
Attribute Section: aeabi
|
||||
File Attributes
|
||||
Tag_CPU_name: "Cortex-M7"
|
||||
Tag_CPU_arch: v7E-M
|
||||
Tag_CPU_arch_profile: Microcontroller
|
||||
Tag_THUMB_ISA_use: Thumb-2
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-0.s
Normal file
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-0.s
Normal file
@ -0,0 +1,3 @@
|
||||
.cpu cortex-m7
|
||||
.fpu fpv5-d16
|
||||
.eabi_attribute 27, 0
|
15
gas/testsuite/gas/arm/attr-abi-hardfp-use-1.d
Normal file
15
gas/testsuite/gas/arm/attr-abi-hardfp-use-1.d
Normal file
@ -0,0 +1,15 @@
|
||||
# name: EABI attribute Tag_ABI_HardFP_use with value 1
|
||||
# source: attr-abi-hardfp-use-1.s
|
||||
# as:
|
||||
# readelf: -A
|
||||
# This test is only valid on EABI based ports.
|
||||
# target: *-*-*eabi* *-*-nacl*
|
||||
|
||||
Attribute Section: aeabi
|
||||
File Attributes
|
||||
Tag_CPU_name: "Cortex-M7"
|
||||
Tag_CPU_arch: v7E-M
|
||||
Tag_CPU_arch_profile: Microcontroller
|
||||
Tag_THUMB_ISA_use: Thumb-2
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
||||
Tag_ABI_HardFP_use: SP only
|
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-1.s
Normal file
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-1.s
Normal file
@ -0,0 +1,3 @@
|
||||
.cpu cortex-m7
|
||||
.fpu fpv5-sp-d16
|
||||
.eabi_attribute 27, 1
|
15
gas/testsuite/gas/arm/attr-abi-hardfp-use-2.d
Normal file
15
gas/testsuite/gas/arm/attr-abi-hardfp-use-2.d
Normal file
@ -0,0 +1,15 @@
|
||||
# name: EABI attribute Tag_ABI_HardFP_use with value 2
|
||||
# source: attr-abi-hardfp-use-2.s
|
||||
# as:
|
||||
# readelf: -A
|
||||
# This test is only valid on EABI based ports.
|
||||
# target: *-*-*eabi* *-*-nacl*
|
||||
|
||||
Attribute Section: aeabi
|
||||
File Attributes
|
||||
Tag_CPU_name: "Cortex-M7"
|
||||
Tag_CPU_arch: v7E-M
|
||||
Tag_CPU_arch_profile: Microcontroller
|
||||
Tag_THUMB_ISA_use: Thumb-2
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
||||
Tag_ABI_HardFP_use: Reserved
|
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-2.s
Normal file
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-2.s
Normal file
@ -0,0 +1,3 @@
|
||||
.cpu cortex-m7
|
||||
.fpu fpv5-d16
|
||||
.eabi_attribute 27, 2
|
15
gas/testsuite/gas/arm/attr-abi-hardfp-use-3.d
Normal file
15
gas/testsuite/gas/arm/attr-abi-hardfp-use-3.d
Normal file
@ -0,0 +1,15 @@
|
||||
# name: EABI attribute Tag_ABI_HardFP_use with value 3
|
||||
# source: attr-abi-hardfp-use-3.s
|
||||
# as:
|
||||
# readelf: -A
|
||||
# This test is only valid on EABI based ports.
|
||||
# target: *-*-*eabi* *-*-nacl*
|
||||
|
||||
Attribute Section: aeabi
|
||||
File Attributes
|
||||
Tag_CPU_name: "Cortex-M7"
|
||||
Tag_CPU_arch: v7E-M
|
||||
Tag_CPU_arch_profile: Microcontroller
|
||||
Tag_THUMB_ISA_use: Thumb-2
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
||||
Tag_ABI_HardFP_use: Deprecated
|
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-3.s
Normal file
3
gas/testsuite/gas/arm/attr-abi-hardfp-use-3.s
Normal file
@ -0,0 +1,3 @@
|
||||
.cpu cortex-m7
|
||||
.fpu fpv5-d16
|
||||
.eabi_attribute 27, 3
|
@ -1,3 +1,21 @@
|
||||
2015-02-26 Terry Guo <terry.guo@arm.com>
|
||||
|
||||
* ld-arm/attr-merge-3.attr: Remove Tag_ABI_HardFP_use.
|
||||
* ld-arm/attr-merge-vfp-10.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-10r.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-12.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-12r.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-13.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-13r.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-14.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-14r.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-6.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-6r.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-7.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-7r.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-8.d: Likewise.
|
||||
* ld-arm/attr-merge-vfp-8r.d: Likewise.
|
||||
|
||||
2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* ld-avr/avr-prop-1.d: New file.
|
||||
|
@ -896,6 +896,8 @@ run_dump_test "attr-merge-vfp-14r"
|
||||
run_dump_test "attr-merge-incompatible"
|
||||
run_dump_test "attr-merge-arch-2"
|
||||
run_dump_test "attr-merge-nosection-1"
|
||||
run_dump_test "attr-merge-hardfp-use-1"
|
||||
run_dump_test "attr-merge-hardfp-use-2"
|
||||
run_dump_test "unresolved-1"
|
||||
if { ![istarget "arm*-*-nacl*"] } {
|
||||
run_dump_test "unresolved-1-dyn"
|
||||
|
@ -22,7 +22,6 @@ File Attributes
|
||||
Tag_ABI_align_needed: 8-byte
|
||||
Tag_ABI_align_preserved: 8-byte, except leaf SP
|
||||
Tag_ABI_enum_size: small
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
Tag_ABI_VFP_args: VFP registers
|
||||
Tag_CPU_unaligned_access: v6
|
||||
Tag_FP_HP_extension: Allowed
|
||||
|
15
ld/testsuite/ld-arm/attr-merge-hardfp-use-1.d
Normal file
15
ld/testsuite/ld-arm/attr-merge-hardfp-use-1.d
Normal file
@ -0,0 +1,15 @@
|
||||
#source: attr-merge-hardfp-use-1a.s
|
||||
#source: attr-merge-hardfp-use-1b.s
|
||||
#as:
|
||||
#ld: -e main
|
||||
#readelf: -A
|
||||
# This test is only valid on ELF based ports.
|
||||
# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
|
||||
|
||||
Attribute Section: aeabi
|
||||
File Attributes
|
||||
Tag_CPU_name: "Cortex-M4"
|
||||
Tag_CPU_arch: v7E-M
|
||||
Tag_CPU_arch_profile: Microcontroller
|
||||
Tag_THUMB_ISA_use: Thumb-2
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
12
ld/testsuite/ld-arm/attr-merge-hardfp-use-1a.s
Normal file
12
ld/testsuite/ld-arm/attr-merge-hardfp-use-1a.s
Normal file
@ -0,0 +1,12 @@
|
||||
.syntax unified
|
||||
.cpu cortex-m4
|
||||
.fpu fpv4-sp-d16
|
||||
.thumb
|
||||
.text
|
||||
.align 2
|
||||
.global foo
|
||||
.thumb
|
||||
.thumb_func
|
||||
.type foo, %function
|
||||
foo:
|
||||
bx lr
|
16
ld/testsuite/ld-arm/attr-merge-hardfp-use-1b.s
Normal file
16
ld/testsuite/ld-arm/attr-merge-hardfp-use-1b.s
Normal file
@ -0,0 +1,16 @@
|
||||
.thumb
|
||||
.syntax unified
|
||||
.cpu cortex-m7
|
||||
.fpu fpv5-d16
|
||||
.eabi_attribute 27, 3
|
||||
.text
|
||||
.align 2
|
||||
.global main
|
||||
.thumb
|
||||
.thumb_func
|
||||
.type main, %function
|
||||
|
||||
|
||||
|
||||
main:
|
||||
bl foo
|
15
ld/testsuite/ld-arm/attr-merge-hardfp-use-2.d
Normal file
15
ld/testsuite/ld-arm/attr-merge-hardfp-use-2.d
Normal file
@ -0,0 +1,15 @@
|
||||
#source: attr-merge-hardfp-use-2a.s
|
||||
#source: attr-merge-hardfp-use-2b.s
|
||||
#as:
|
||||
#ld: -e main
|
||||
#readelf: -A
|
||||
# This test is only valid on ELF based ports.
|
||||
# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
|
||||
|
||||
Attribute Section: aeabi
|
||||
File Attributes
|
||||
Tag_CPU_name: "Cortex-M4"
|
||||
Tag_CPU_arch: v7E-M
|
||||
Tag_CPU_arch_profile: Microcontroller
|
||||
Tag_THUMB_ISA_use: Thumb-2
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
12
ld/testsuite/ld-arm/attr-merge-hardfp-use-2a.s
Normal file
12
ld/testsuite/ld-arm/attr-merge-hardfp-use-2a.s
Normal file
@ -0,0 +1,12 @@
|
||||
.syntax unified
|
||||
.cpu cortex-m4
|
||||
.fpu fpv4-sp-d16
|
||||
.thumb
|
||||
.text
|
||||
.align 2
|
||||
.global foo
|
||||
.thumb
|
||||
.thumb_func
|
||||
.type foo, %function
|
||||
foo:
|
||||
bx lr
|
14
ld/testsuite/ld-arm/attr-merge-hardfp-use-2b.s
Normal file
14
ld/testsuite/ld-arm/attr-merge-hardfp-use-2b.s
Normal file
@ -0,0 +1,14 @@
|
||||
.thumb
|
||||
.syntax unified
|
||||
.cpu cortex-m7
|
||||
.fpu fpv5-d16
|
||||
.eabi_attribute 27, 2
|
||||
.text
|
||||
.align 2
|
||||
.global main
|
||||
.thumb
|
||||
.thumb_func
|
||||
.type main, %function
|
||||
|
||||
main:
|
||||
bl foo
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: VFPv3
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: VFPv3
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FP for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
@ -11,4 +11,3 @@ File Attributes
|
||||
Tag_ARM_ISA_use: Yes
|
||||
Tag_THUMB_ISA_use: Thumb-1
|
||||
Tag_FP_arch: FPv5/FP-D16 for ARMv8
|
||||
Tag_ABI_HardFP_use: SP and DP
|
||||
|
Loading…
Reference in New Issue
Block a user