aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-arm
diff options
context:
space:
mode:
authorMatthew Gretton-Dann <matthew.gretton-dann@arm.com>2010-02-18 10:56:28 +0000
committerMatthew Gretton-Dann <matthew.gretton-dann@arm.com>2010-02-18 10:56:28 +0000
commitcd21e5460f664d311f34645388138a44c228dc97 (patch)
tree7e54cb6be39aecfd063c1883fe5b8a7f81b9df5a /ld/testsuite/ld-arm
parentb2fc24d469b6025b1a7729acb6032e74a875a734 (diff)
downloadgdb-cd21e5460f664d311f34645388138a44c228dc97.zip
gdb-cd21e5460f664d311f34645388138a44c228dc97.tar.gz
gdb-cd21e5460f664d311f34645388138a44c228dc97.tar.bz2
* bfd/elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for
merging Tag_DIV_use, Tag_MPextension_use, and Tag_MPextension_use_legacy tags. * binutils/readelf.c (arm_attr_tag_Advanced_SIMD_arch): Add description of newly permitted attribute values. (arm_attr_tag_Virtualization_use): Likewise. (arm_attr_tag_DIV_use): Add description of new attribute. (arm_attr_tag_MPextension_use_legacy): Likewise. * gas/config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use. * gas/doc/c-arm.texi: Likewise. * gas/testsuite/gas/arm/attr-order.d: Fix test for new names for attribute values. * include/elf/arm.h (Tag_MPextension_use): Renumber. (Tag_DIV_use): Add. (Tag_MPextension_use_legacy): Likewise. * ld/testsuite/ld-arm/attr-merge-3.attr: Fix test for new attribute values. * ld/testsuite/ld-arm/attr-merge-3b.s: Likewise. * ld/testsuite/ld-arm/attr-merge-unknown-1.d: Fix test now that 42 is a recognised attribute ID. * ld/testsuite/ld-arm/attr-merge-unknown-1.s: Likewise. * ld/testsuite/ld-arm/attr-merge-6.attr: New test. * ld/testsuite/ld-arm/attr-merge-6a.s: Likewise. * ld/testsuite/ld-arm/attr-merge-6b.s: Likewise. * ld/testsuite/ld-arm/attr-merge-7.attr: Likewise. * ld/testsuite/ld-arm/attr-merge-7a.s: Likewise. * ld/testsuite/ld-arm/attr-merge-7b.s: Likewise. * ld/testsuite/ld-arm/arm-elf.exp: Run the new tests.
Diffstat (limited to 'ld/testsuite/ld-arm')
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp9
-rw-r--r--ld/testsuite/ld-arm/attr-merge-3.attr4
-rw-r--r--ld/testsuite/ld-arm/attr-merge-3b.s2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-6a.s4
-rw-r--r--ld/testsuite/ld-arm/attr-merge-6b.s3
-rw-r--r--ld/testsuite/ld-arm/attr-merge-7.attr9
-rw-r--r--ld/testsuite/ld-arm/attr-merge-7a.s4
-rw-r--r--ld/testsuite/ld-arm/attr-merge-7b.s4
-rw-r--r--ld/testsuite/ld-arm/attr-merge-unknown-1.d2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-unknown-1.s2
10 files changed, 38 insertions, 5 deletions
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index a207a79..ed9cb74 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -296,6 +296,15 @@ set armeabitests {
{"EABI attribute merging 5" "-r" "" {attr-merge-5.s attr-merge-5.s}
{{readelf -A attr-merge-5.attr}}
"attr-merge-5"}
+ {"EABI attribute merging 6" "-r" "" {attr-merge-6a.s attr-merge-6b.s}
+ {{readelf -A attr-merge-6.attr}}
+ "attr-merge-6"}
+ {"EABI attribute merging 6 reversed" "-r" "" {attr-merge-6b.s attr-merge-6a.s}
+ {{readelf -A attr-merge-6.attr}}
+ "attr-merge-6r"}
+ {"EABI attribute merging 7" "-r" "" {attr-merge-7a.s attr-merge-7b.s}
+ {{readelf -A attr-merge-7.attr}}
+ "attr-merge-7"}
{"EABI attribute arch merging 1" "-r" "" {arch-v6k.s arch-v6t2.s}
{{readelf -A attr-merge-arch-1.attr}}
"attr-merge-arch-1"}
diff --git a/ld/testsuite/ld-arm/attr-merge-3.attr b/ld/testsuite/ld-arm/attr-merge-3.attr
index e4e06e1..b865181 100644
--- a/ld/testsuite/ld-arm/attr-merge-3.attr
+++ b/ld/testsuite/ld-arm/attr-merge-3.attr
@@ -26,6 +26,6 @@ File Attributes
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
Tag_VFP_HP_extension: Allowed
- Tag_T2EE_use: Allowed
- Tag_Virtualization_use: Allowed
Tag_MPextension_use: Allowed
+ Tag_T2EE_use: Allowed
+ Tag_Virtualization_use: TrustZone
diff --git a/ld/testsuite/ld-arm/attr-merge-3b.s b/ld/testsuite/ld-arm/attr-merge-3b.s
index b858482..73d6590 100644
--- a/ld/testsuite/ld-arm/attr-merge-3b.s
+++ b/ld/testsuite/ld-arm/attr-merge-3b.s
@@ -33,6 +33,6 @@
.eabi_attribute Tag_nodefaults, 1
@ .eabi_attribute Tag_also_compatible_with,
.eabi_attribute Tag_T2EE_use, 1
- .eabi_attribute Tag_conformance, "2.07"
+ .eabi_attribute Tag_conformance, "2.08"
.eabi_attribute Tag_Virtualization_use, 1
.eabi_attribute Tag_MPextension_use, 1
diff --git a/ld/testsuite/ld-arm/attr-merge-6a.s b/ld/testsuite/ld-arm/attr-merge-6a.s
new file mode 100644
index 0000000..056d8c8
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-6a.s
@@ -0,0 +1,4 @@
+ .cpu cortex-a9
+ .fpu softvfp
+ .eabi_attribute 70, 1
+ .file "attr-merge-6a.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-6b.s b/ld/testsuite/ld-arm/attr-merge-6b.s
new file mode 100644
index 0000000..b9ef4d2
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-6b.s
@@ -0,0 +1,3 @@
+ .cpu cortex-a9
+ .fpu softvfp
+ .file "attr-merge-6b.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-7.attr b/ld/testsuite/ld-arm/attr-merge-7.attr
new file mode 100644
index 0000000..e996c93
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-7.attr
@@ -0,0 +1,9 @@
+Attribute Section: aeabi
+File Attributes
+ Tag_CPU_name: "CORTEX-A9"
+ Tag_CPU_arch: v7
+ Tag_CPU_arch_profile: Application
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-2
+ Tag_MPextension_use: Allowed
+
diff --git a/ld/testsuite/ld-arm/attr-merge-7a.s b/ld/testsuite/ld-arm/attr-merge-7a.s
new file mode 100644
index 0000000..d875d28
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-7a.s
@@ -0,0 +1,4 @@
+ .cpu cortex-a9
+ .fpu softvfp
+ .eabi_attribute 70, 1
+ .file "attr-merge-7a.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-7b.s b/ld/testsuite/ld-arm/attr-merge-7b.s
new file mode 100644
index 0000000..2e83e71
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-7b.s
@@ -0,0 +1,4 @@
+ .cpu cortex-a9
+ .fpu softvfp
+ .eabi_attribute Tag_MPextension_use, 1
+ .file "attr-merge-7b.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-unknown-1.d b/ld/testsuite/ld-arm/attr-merge-unknown-1.d
index 395d2b6..38acff9 100644
--- a/ld/testsuite/ld-arm/attr-merge-unknown-1.d
+++ b/ld/testsuite/ld-arm/attr-merge-unknown-1.d
@@ -2,4 +2,4 @@
#source: blank.s
#as:
#ld:
-#error: Unknown mandatory EABI object attribute 42
+#error: Unknown mandatory EABI object attribute 40
diff --git a/ld/testsuite/ld-arm/attr-merge-unknown-1.s b/ld/testsuite/ld-arm/attr-merge-unknown-1.s
index 298c673..d2cff1f 100644
--- a/ld/testsuite/ld-arm/attr-merge-unknown-1.s
+++ b/ld/testsuite/ld-arm/attr-merge-unknown-1.s
@@ -1,3 +1,3 @@
@ This attrubute is supposed to be unknown.
@ If this number should become known, change it.
- .eabi_attribute 42, 1
+ .eabi_attribute 40, 1