aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog61
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp12
-rw-r--r--ld/testsuite/ld-arm/attr-merge-2.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-2a.s1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-2b.s1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-3.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-4.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-5.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-6.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-7.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-arch-1.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-arch-2.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-0.s1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-00.d12
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-01-m3.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-01.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-02.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-1.s1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-10-m3.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-10.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-11.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-12.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-120.d16
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-2.s1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-20.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-21.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-div-22.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-unknown-2.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-unknown-2r.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-unknown-3.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-1.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-1r.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-2.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-2r.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-3.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-3r.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-4.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-4r.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-5.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-5r.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-6.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-6r.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-00.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-02.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-04.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-20.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-22.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-40.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-wchar-44.d1
-rw-r--r--ld/testsuite/ld-arm/attr-merge.attr1
59 files changed, 237 insertions, 41 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 3af5666..a02c6f0 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,64 @@
+2012-03-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * ld-arm/arm-elf.exp: Add new testcases.
+ * ld-arm/attr-merge-2.attr: Update ouput.
+ * ld-arm/attr-merge-2a.s: Remove Tag_DIV_use test.
+ * ld-arm/attr-merge-2b.s: Likewise.
+ * ld-arm/attr-merge-3.attr: Updated expected output.
+ * ld-arm/attr-merge-4.attr: Likewise.
+ * ld-arm/attr-merge-5.attr: Likewise.
+ * ld-arm/attr-merge-6.attr: Likewise.
+ * ld-arm/attr-merge-7.attr: Likewise.
+ * ld-arm/attr-merge-arch-1.attr: Likewise.
+ * ld-arm/attr-merge-arch-2.attr: Likewise.
+ * ld-arm/attr-merge-unknown-2.d: Likewise.
+ * ld-arm/attr-merge-unknown-2r.d: Likewise.
+ * ld-arm/attr-merge-unknown-3.d: Likewise.
+ * ld-arm/attr-merge-vfp-1.d: Likewise.
+ * ld-arm/attr-merge-vfp-1r.d: Likewise.
+ * ld-arm/attr-merge-vfp-2.d: Likewise.
+ * ld-arm/attr-merge-vfp-2r.d: Likewise.
+ * ld-arm/attr-merge-vfp-3.d: Likewise.
+ * ld-arm/attr-merge-vfp-3r.d: Likewise.
+ * ld-arm/attr-merge-vfp-4.d: Likewise.
+ * ld-arm/attr-merge-vfp-4r.d: Likewise.
+ * ld-arm/attr-merge-vfp-5.d: Likewise.
+ * ld-arm/attr-merge-vfp-5r.d: Likewise.
+ * ld-arm/attr-merge-vfp-6.d: Likewise.
+ * ld-arm/attr-merge-vfp-6r.d: Likewise.
+ * ld-arm/attr-merge-wchar-00-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-00.d: Likewise.
+ * ld-arm/attr-merge-wchar-02-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-02.d: Likewise.
+ * ld-arm/attr-merge-wchar-04-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-04.d: Likewise.
+ * ld-arm/attr-merge-wchar-20-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-20.d: Likewise.
+ * ld-arm/attr-merge-wchar-22-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-22.d: Likewise.
+ * ld-arm/attr-merge-wchar-24-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-40-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-40.d: Likewise.
+ * ld-arm/attr-merge-wchar-42-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-44-nowarn.d: Likewise.
+ * ld-arm/attr-merge-wchar-44.d: Likewise.
+ * ld-arm/attr-merge.attr: Likewise.
+ * ld-arm/attr-merge-div-0.s: New testcase.
+ * ld-arm/attr-merge-div-00.d: Likewise.
+ * ld-arm/attr-merge-div-01-m3.d: Likewise.
+ * ld-arm/attr-merge-div-01.d: Likewise.
+ * ld-arm/attr-merge-div-02.d: Likewise.
+ * ld-arm/attr-merge-div-1.s: Likewise.
+ * ld-arm/attr-merge-div-10-m3.d: Likewise.
+ * ld-arm/attr-merge-div-10.d: Likewise.
+ * ld-arm/attr-merge-div-11.d: Likewise.
+ * ld-arm/attr-merge-div-12.d: Likewise.
+ * ld-arm/attr-merge-div-120.d: Likewise.
+ * ld-arm/attr-merge-div-2.s: Likewise.
+ * ld-arm/attr-merge-div-20.d: Likewise.
+ * ld-arm/attr-merge-div-21.d: Likewise.
+ * ld-arm/attr-merge-div-22.d: Likewise.
+
2012-03-16 Alan Modra <amodra@gmail.com>
* ld-gc/pr13683.d: Accept powerpc64 function descriptor syms.
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index c7a0b2c..789c742 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -690,6 +690,18 @@ set armeabitests {
}
run_ld_link_tests $armeabitests
+run_dump_test "attr-merge-div-00"
+run_dump_test "attr-merge-div-01"
+run_dump_test "attr-merge-div-10"
+run_dump_test "attr-merge-div-01-m3"
+run_dump_test "attr-merge-div-10-m3"
+run_dump_test "attr-merge-div-11"
+run_dump_test "attr-merge-div-12"
+run_dump_test "attr-merge-div-120"
+run_dump_test "attr-merge-div-21"
+run_dump_test "attr-merge-div-22"
+run_dump_test "attr-merge-div-02"
+run_dump_test "attr-merge-div-20"
run_dump_test "attr-merge-wchar-00"
run_dump_test "attr-merge-wchar-02"
run_dump_test "attr-merge-wchar-04"
diff --git a/ld/testsuite/ld-arm/attr-merge-2.attr b/ld/testsuite/ld-arm/attr-merge-2.attr
index e34111b..578333b 100644
--- a/ld/testsuite/ld-arm/attr-merge-2.attr
+++ b/ld/testsuite/ld-arm/attr-merge-2.attr
@@ -12,4 +12,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Allowed in v7-A with integer division extension
diff --git a/ld/testsuite/ld-arm/attr-merge-2a.s b/ld/testsuite/ld-arm/attr-merge-2a.s
index 9d9ae18..0303163 100644
--- a/ld/testsuite/ld-arm/attr-merge-2a.s
+++ b/ld/testsuite/ld-arm/attr-merge-2a.s
@@ -7,5 +7,4 @@
.eabi_attribute 25, 1
.eabi_attribute 26, 1
.eabi_attribute 30, 6
- .eabi_attribute Tag_DIV_use, 1
.file "attr-merge-2a.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-2b.s b/ld/testsuite/ld-arm/attr-merge-2b.s
index 6aa8da9..047890a 100644
--- a/ld/testsuite/ld-arm/attr-merge-2b.s
+++ b/ld/testsuite/ld-arm/attr-merge-2b.s
@@ -8,5 +8,4 @@
.eabi_attribute 26, 1
.eabi_attribute 30, 6
.eabi_attribute 18, 4
- .eabi_attribute Tag_DIV_use, 2
.file "attr-merge-2b.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-3.attr b/ld/testsuite/ld-arm/attr-merge-3.attr
index b0f8ef9..8d7d1c3 100644
--- a/ld/testsuite/ld-arm/attr-merge-3.attr
+++ b/ld/testsuite/ld-arm/attr-merge-3.attr
@@ -27,5 +27,6 @@ File Attributes
Tag_CPU_unaligned_access: v6
Tag_FP_HP_extension: Allowed
Tag_MPextension_use: Allowed
+ Tag_DIV_use: Not allowed
Tag_T2EE_use: Allowed
Tag_Virtualization_use: TrustZone
diff --git a/ld/testsuite/ld-arm/attr-merge-4.attr b/ld/testsuite/ld-arm/attr-merge-4.attr
index c8fc7ec..75fd063 100644
--- a/ld/testsuite/ld-arm/attr-merge-4.attr
+++ b/ld/testsuite/ld-arm/attr-merge-4.attr
@@ -5,5 +5,4 @@ File Attributes
Tag_CPU_arch_profile: Microcontroller
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_DIV_use: Not allowed
Tag_also_compatible_with: v6-M
diff --git a/ld/testsuite/ld-arm/attr-merge-5.attr b/ld/testsuite/ld-arm/attr-merge-5.attr
index f016708..9d3e971 100644
--- a/ld/testsuite/ld-arm/attr-merge-5.attr
+++ b/ld/testsuite/ld-arm/attr-merge-5.attr
@@ -3,4 +3,3 @@ File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_compatibility: flag = 1, vendor = gnu
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-6.attr b/ld/testsuite/ld-arm/attr-merge-6.attr
index 9e2324f..0af32f7 100644
--- a/ld/testsuite/ld-arm/attr-merge-6.attr
+++ b/ld/testsuite/ld-arm/attr-merge-6.attr
@@ -6,5 +6,4 @@ File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_MPextension_use: Allowed
- Tag_DIV_use: Not allowed
Tag_Virtualization_use: TrustZone
diff --git a/ld/testsuite/ld-arm/attr-merge-7.attr b/ld/testsuite/ld-arm/attr-merge-7.attr
index 9e2324f..0af32f7 100644
--- a/ld/testsuite/ld-arm/attr-merge-7.attr
+++ b/ld/testsuite/ld-arm/attr-merge-7.attr
@@ -6,5 +6,4 @@ File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_MPextension_use: Allowed
- Tag_DIV_use: Not allowed
Tag_Virtualization_use: TrustZone
diff --git a/ld/testsuite/ld-arm/attr-merge-arch-1.attr b/ld/testsuite/ld-arm/attr-merge-arch-1.attr
index b39634f..f69f1e7 100644
--- a/ld/testsuite/ld-arm/attr-merge-arch-1.attr
+++ b/ld/testsuite/ld-arm/attr-merge-arch-1.attr
@@ -4,4 +4,3 @@ File Attributes
Tag_CPU_arch: v7
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-arch-2.attr b/ld/testsuite/ld-arm/attr-merge-arch-2.attr
index ab8916b..55f6965 100644
--- a/ld/testsuite/ld-arm/attr-merge-arch-2.attr
+++ b/ld/testsuite/ld-arm/attr-merge-arch-2.attr
@@ -5,4 +5,3 @@ File Attributes
Tag_CPU_arch: v6K
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-div-0.s b/ld/testsuite/ld-arm/attr-merge-div-0.s
new file mode 100644
index 0000000..2ebcfd8
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-0.s
@@ -0,0 +1 @@
+ .eabi_attribute Tag_DIV_use, 0
diff --git a/ld/testsuite/ld-arm/attr-merge-div-00.d b/ld/testsuite/ld-arm/attr-merge-div-00.d
new file mode 100644
index 0000000..942662e
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-00.d
@@ -0,0 +1,12 @@
+#source: attr-merge-div-0.s
+#source: attr-merge-div-0.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
diff --git a/ld/testsuite/ld-arm/attr-merge-div-01-m3.d b/ld/testsuite/ld-arm/attr-merge-div-01-m3.d
new file mode 100644
index 0000000..c0cdd49
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-01-m3.d
@@ -0,0 +1,14 @@
+#source: attr-merge-div-0.s
+#source: attr-merge-div-1.s
+#as: -mcpu=cortex-m3
+#ld: -r
+#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-M3"
+ Tag_CPU_arch: v7
+ Tag_CPU_arch_profile: Microcontroller
+ Tag_THUMB_ISA_use: Thumb-2
diff --git a/ld/testsuite/ld-arm/attr-merge-div-01.d b/ld/testsuite/ld-arm/attr-merge-div-01.d
new file mode 100644
index 0000000..f81a81e
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-01.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-0.s
+#source: attr-merge-div-1.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-div-02.d b/ld/testsuite/ld-arm/attr-merge-div-02.d
new file mode 100644
index 0000000..3684950
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-02.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-0.s
+#source: attr-merge-div-2.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Allowed in v7-A with integer division extension
diff --git a/ld/testsuite/ld-arm/attr-merge-div-1.s b/ld/testsuite/ld-arm/attr-merge-div-1.s
new file mode 100644
index 0000000..d74812d
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-1.s
@@ -0,0 +1 @@
+ .eabi_attribute Tag_DIV_use, 1
diff --git a/ld/testsuite/ld-arm/attr-merge-div-10-m3.d b/ld/testsuite/ld-arm/attr-merge-div-10-m3.d
new file mode 100644
index 0000000..3736e59
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-10-m3.d
@@ -0,0 +1,14 @@
+#source: attr-merge-div-1.s
+#source: attr-merge-div-0.s
+#as: -mcpu=cortex-m3
+#ld: -r
+#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-M3"
+ Tag_CPU_arch: v7
+ Tag_CPU_arch_profile: Microcontroller
+ Tag_THUMB_ISA_use: Thumb-2
diff --git a/ld/testsuite/ld-arm/attr-merge-div-10.d b/ld/testsuite/ld-arm/attr-merge-div-10.d
new file mode 100644
index 0000000..32614ee
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-10.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-1.s
+#source: attr-merge-div-0.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-div-11.d b/ld/testsuite/ld-arm/attr-merge-div-11.d
new file mode 100644
index 0000000..95dc8db
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-11.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-1.s
+#source: attr-merge-div-1.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-div-12.d b/ld/testsuite/ld-arm/attr-merge-div-12.d
new file mode 100644
index 0000000..73d70ff
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-12.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-1.s
+#source: attr-merge-div-2.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Allowed in v7-A with integer division extension
diff --git a/ld/testsuite/ld-arm/attr-merge-div-120.d b/ld/testsuite/ld-arm/attr-merge-div-120.d
new file mode 100644
index 0000000..8891e4b
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-120.d
@@ -0,0 +1,16 @@
+#source: attr-merge-div-1.s
+#source: attr-merge-div-2.s
+#source: attr-merge-div-0.s
+#as: -mcpu=cortex-m3
+#ld: -r
+#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-M3"
+ Tag_CPU_arch: v7
+ Tag_CPU_arch_profile: Microcontroller
+ Tag_THUMB_ISA_use: Thumb-2
+ Tag_DIV_use: Allowed in v7-A with integer division extension
diff --git a/ld/testsuite/ld-arm/attr-merge-div-2.s b/ld/testsuite/ld-arm/attr-merge-div-2.s
new file mode 100644
index 0000000..20394c8
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-2.s
@@ -0,0 +1 @@
+ .eabi_attribute Tag_DIV_use, 2
diff --git a/ld/testsuite/ld-arm/attr-merge-div-20.d b/ld/testsuite/ld-arm/attr-merge-div-20.d
new file mode 100644
index 0000000..fd494bb
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-20.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-2.s
+#source: attr-merge-div-0.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Allowed in v7-A with integer division extension
diff --git a/ld/testsuite/ld-arm/attr-merge-div-21.d b/ld/testsuite/ld-arm/attr-merge-div-21.d
new file mode 100644
index 0000000..afd0f8d
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-21.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-2.s
+#source: attr-merge-div-1.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Allowed in v7-A with integer division extension
diff --git a/ld/testsuite/ld-arm/attr-merge-div-22.d b/ld/testsuite/ld-arm/attr-merge-div-22.d
new file mode 100644
index 0000000..c70da03
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-div-22.d
@@ -0,0 +1,13 @@
+#source: attr-merge-div-2.s
+#source: attr-merge-div-2.s
+#as:
+#ld: -r
+#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_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_DIV_use: Allowed in v7-A with integer division extension
diff --git a/ld/testsuite/ld-arm/attr-merge-unknown-2.d b/ld/testsuite/ld-arm/attr-merge-unknown-2.d
index 5755803..bf44f43 100644
--- a/ld/testsuite/ld-arm/attr-merge-unknown-2.d
+++ b/ld/testsuite/ld-arm/attr-merge-unknown-2.d
@@ -11,4 +11,3 @@ Attribute Section: aeabi
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-unknown-2r.d b/ld/testsuite/ld-arm/attr-merge-unknown-2r.d
index d950b3e..6d523fb 100644
--- a/ld/testsuite/ld-arm/attr-merge-unknown-2r.d
+++ b/ld/testsuite/ld-arm/attr-merge-unknown-2r.d
@@ -11,4 +11,3 @@ Attribute Section: aeabi
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-unknown-3.d b/ld/testsuite/ld-arm/attr-merge-unknown-3.d
index c210a06..b02ba6d 100644
--- a/ld/testsuite/ld-arm/attr-merge-unknown-3.d
+++ b/ld/testsuite/ld-arm/attr-merge-unknown-3.d
@@ -11,5 +11,4 @@ Attribute Section: aeabi
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_DIV_use: Not allowed
Tag_unknown_82: 1 \(0x1\)
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-1.d b/ld/testsuite/ld-arm/attr-merge-vfp-1.d
index 99fc8e4..8625735 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-1.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-1.d
@@ -11,4 +11,3 @@ File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv3-D16
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-1r.d b/ld/testsuite/ld-arm/attr-merge-vfp-1r.d
index 42bfe99..d7a15d7 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-1r.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-1r.d
@@ -11,4 +11,3 @@ File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv3-D16
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-2.d b/ld/testsuite/ld-arm/attr-merge-vfp-2.d
index 3161e11..6444bd0 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-2.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-2.d
@@ -11,4 +11,3 @@ File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv3
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-2r.d b/ld/testsuite/ld-arm/attr-merge-vfp-2r.d
index 9c6367f..1d36983 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-2r.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-2r.d
@@ -11,4 +11,3 @@ File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv3
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-3.d b/ld/testsuite/ld-arm/attr-merge-vfp-3.d
index 9853879..ee89384 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-3.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-3.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv4-D16
Tag_FP_HP_extension: Allowed
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-3r.d b/ld/testsuite/ld-arm/attr-merge-vfp-3r.d
index 24df972..d06bd27 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-3r.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-3r.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv4-D16
Tag_FP_HP_extension: Allowed
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-4.d b/ld/testsuite/ld-arm/attr-merge-vfp-4.d
index 469fc9b..c18d672 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-4.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-4.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv4
Tag_FP_HP_extension: Allowed
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-4r.d b/ld/testsuite/ld-arm/attr-merge-vfp-4r.d
index c84e508..327e0c3 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-4r.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-4r.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv4
Tag_FP_HP_extension: Allowed
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-5.d b/ld/testsuite/ld-arm/attr-merge-vfp-5.d
index dc0c6ee..cd55a86 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-5.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-5.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv4
Tag_FP_HP_extension: Allowed
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-5r.d b/ld/testsuite/ld-arm/attr-merge-vfp-5r.d
index 5e1d23a..505c31b 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-5r.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-5r.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv4
Tag_FP_HP_extension: Allowed
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-6.d b/ld/testsuite/ld-arm/attr-merge-vfp-6.d
index ca89181..54d063f 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-6.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-6.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv3
Tag_ABI_HardFP_use: SP and DP
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-6r.d b/ld/testsuite/ld-arm/attr-merge-vfp-6r.d
index f533632..f32d4fc 100644
--- a/ld/testsuite/ld-arm/attr-merge-vfp-6r.d
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-6r.d
@@ -12,4 +12,3 @@ File Attributes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv3
Tag_ABI_HardFP_use: SP and DP
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d
index 88e5d25..8a01f2d 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d
@@ -19,4 +19,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-00.d b/ld/testsuite/ld-arm/attr-merge-wchar-00.d
index 73df821..4242822 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-00.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-00.d
@@ -19,4 +19,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d
index f55bf52..f393516 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-02.d b/ld/testsuite/ld-arm/attr-merge-wchar-02.d
index 500b6a9..f662120 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-02.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-02.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d
index c1d4efd..16cc469 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-04.d b/ld/testsuite/ld-arm/attr-merge-wchar-04.d
index cd11980..41413b9 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-04.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-04.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d
index b60e458..c0b1248 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-20.d b/ld/testsuite/ld-arm/attr-merge-wchar-20.d
index 96738b1..b81fb15 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-20.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-20.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d
index 22539de..e9a1e94 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-22.d b/ld/testsuite/ld-arm/attr-merge-wchar-22.d
index c0e67dc..bf75660 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-22.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-22.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d
index e7f2566..0c9b33e 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d
index efeafcc..54f0c54 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-40.d b/ld/testsuite/ld-arm/attr-merge-wchar-40.d
index 39cb58a..46be48c 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-40.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-40.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d
index b989f35..cc72d3e 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d b/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d
index 988dd6e..35eb756 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-wchar-44.d b/ld/testsuite/ld-arm/attr-merge-wchar-44.d
index acda7e7..c0fba85 100644
--- a/ld/testsuite/ld-arm/attr-merge-wchar-44.d
+++ b/ld/testsuite/ld-arm/attr-merge-wchar-44.d
@@ -20,4 +20,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge.attr b/ld/testsuite/ld-arm/attr-merge.attr
index f07930e..578333b 100644
--- a/ld/testsuite/ld-arm/attr-merge.attr
+++ b/ld/testsuite/ld-arm/attr-merge.attr
@@ -12,4 +12,3 @@ File Attributes
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
- Tag_DIV_use: Not allowed