* elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
	input attributes if value has been copied.

ld/testsuite:
	* ld-arm/attr-merge-2a.s, ld-arm/attr-merge-2b.s,
	ld-arm/attr-merge-2.attr: New.
	* ld-arm/arm-elf.exp (armelftests): Add new test.
This commit is contained in:
Joseph Myers 2007-07-03 15:21:30 +00:00
parent cd123cb70c
commit 3cfad14c4a
7 changed files with 64 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2007-07-03 Joseph Myers <joseph@codesourcery.com>
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
input attributes if value has been copied.
2007-07-03 Nick Clifton <nickc@redhat.com>
* COPYING: Replace with GPLv3 text.

View File

@ -6934,6 +6934,23 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
default: /* All known attributes should be explicitly covered. */
abort ();
}
if (in_attr[i].type && !out_attr[i].type)
switch (in_attr[i].type)
{
case 1:
if (out_attr[i].i)
out_attr[i].type = 1;
break;
case 2:
if (out_attr[i].s)
out_attr[i].type = 2;
break;
default:
abort ();
}
}
/* Merge Tag_compatibility attributes and any common GNU ones. */

View File

@ -1,3 +1,9 @@
2007-07-03 Joseph Myers <joseph@codesourcery.com>
* ld-arm/attr-merge-2a.s, ld-arm/attr-merge-2b.s,
ld-arm/attr-merge-2.attr: New.
* ld-arm/arm-elf.exp (armelftests): Add new test.
2007-07-02 Nathan Sidwell <nathan@codesourcery.com>
* ld-scripts/alignof.exp: Skip on non-elf

View File

@ -170,6 +170,9 @@ set armelftests {
{"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s}
{{readelf -A attr-merge.attr}}
"attr-merge"}
{"EABI attribute merging 2" "-r" "" {attr-merge-2a.s attr-merge-2b.s}
{{readelf -A attr-merge-2.attr}}
"attr-merge-2"}
{"callweak" "-static -T arm.ld" "" {callweak.s}
{{objdump -dr callweak.d}}
"callweak"}

View File

@ -0,0 +1,12 @@
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "ARM7TDMI"
Tag_CPU_arch: v4T
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align8_needed: Yes
Tag_ABI_align8_preserved: Yes, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug

View File

@ -0,0 +1,10 @@
.cpu arm7tdmi
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 1
.eabi_attribute 30, 6
.file "attr-merge-2a.s"

View File

@ -0,0 +1,11 @@
.cpu arm7tdmi
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 1
.eabi_attribute 30, 6
.eabi_attribute 18, 4
.file "attr-merge-2b.s"