aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ChangeLog26
-rw-r--r--ld/testsuite/ld-elf/orphan3.d2
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c62x-c62x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c62x-c64x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c62x-c64x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c62x-c674x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c62x-c67x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c62x-c67x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c62x.s1
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x+-c62x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x+-c674x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x+.s1
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x-c62x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x-c64x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x-c64x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x-c674x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x-c67x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x-c67x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c64x.s1
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c674x-c62x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c674x-c64x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c674x-c64x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c674x-c674x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c674x-c67x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c674x-c67x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c674x.s1
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x+-c62x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x+-c674x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x+.s1
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x-c62x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x-c64x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x-c64x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x-c674x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x-c67x+.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x-c67x.d10
-rw-r--r--ld/testsuite/ld-tic6x/attr-arch-c67x.s1
44 files changed, 393 insertions, 1 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 162f166..03ee49d 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,29 @@
+2010-06-15 Joseph Myers <joseph@codesourcery.com>
+
+ * ld-elf/orphan3.d: Allow section names starting '_'.
+ * ld-tic6x/attr-arch-c62x-c62x.d, ld-tic6x/attr-arch-c62x-c64x+.d,
+ ld-tic6x/attr-arch-c62x-c64x.d, ld-tic6x/attr-arch-c62x-c674x.d,
+ ld-tic6x/attr-arch-c62x-c67x+.d, ld-tic6x/attr-arch-c62x-c67x.d,
+ ld-tic6x/attr-arch-c62x.s, ld-tic6x/attr-arch-c64x+-c62x.d,
+ ld-tic6x/attr-arch-c64x+-c64x+.d, ld-tic6x/attr-arch-c64x+-c64x.d,
+ ld-tic6x/attr-arch-c64x+-c674x.d,
+ ld-tic6x/attr-arch-c64x+-c67x+.d, ld-tic6x/attr-arch-c64x+-c67x.d,
+ ld-tic6x/attr-arch-c64x+.s, ld-tic6x/attr-arch-c64x-c62x.d,
+ ld-tic6x/attr-arch-c64x-c64x+.d, ld-tic6x/attr-arch-c64x-c64x.d,
+ ld-tic6x/attr-arch-c64x-c674x.d, ld-tic6x/attr-arch-c64x-c67x+.d,
+ ld-tic6x/attr-arch-c64x-c67x.d, ld-tic6x/attr-arch-c64x.s,
+ ld-tic6x/attr-arch-c674x-c62x.d, ld-tic6x/attr-arch-c674x-c64x+.d,
+ ld-tic6x/attr-arch-c674x-c64x.d, ld-tic6x/attr-arch-c674x-c674x.d,
+ ld-tic6x/attr-arch-c674x-c67x+.d, ld-tic6x/attr-arch-c674x-c67x.d,
+ ld-tic6x/attr-arch-c674x.s, ld-tic6x/attr-arch-c67x+-c62x.d,
+ ld-tic6x/attr-arch-c67x+-c64x+.d, ld-tic6x/attr-arch-c67x+-c64x.d,
+ ld-tic6x/attr-arch-c67x+-c674x.d,
+ ld-tic6x/attr-arch-c67x+-c67x+.d, ld-tic6x/attr-arch-c67x+-c67x.d,
+ ld-tic6x/attr-arch-c67x+.s, ld-tic6x/attr-arch-c67x-c62x.d,
+ ld-tic6x/attr-arch-c67x-c64x+.d, ld-tic6x/attr-arch-c67x-c64x.d,
+ ld-tic6x/attr-arch-c67x-c674x.d, ld-tic6x/attr-arch-c67x-c67x+.d,
+ ld-tic6x/attr-arch-c67x-c67x.d, ld-tic6x/attr-arch-c67x.s: New.
+
2010-06-07 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* ld-arm/arm-call.d: Handle change in lsls/movs disassembly.
diff --git a/ld/testsuite/ld-elf/orphan3.d b/ld/testsuite/ld-elf/orphan3.d
index fc236cc..493ba58 100644
--- a/ld/testsuite/ld-elf/orphan3.d
+++ b/ld/testsuite/ld-elf/orphan3.d
@@ -17,5 +17,5 @@
\[[ 0-9]+\] \.foo +NOBITS +[0-9a-f]+ +[0-9a-f]+ +0+20 +0+ +A +0 +0 +[0-9]+
#...
\[[ 0-9]+\] \.foo +PROGBITS +0+ +[0-9a-f]+ +0+20 +0+ +0 +0 +[0-9]+
- \[[ 0-9]+\] \.[^f].*
+ \[[ 0-9]+\] [._][^f].*
#pass
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c62x-c62x.d b/ld/testsuite/ld-tic6x/attr-arch-c62x-c62x.d
new file mode 100644
index 0000000..7d33966
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c62x-c62x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c62x c62x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c62x.s
+#source: attr-arch-c62x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C62x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x+.d b/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x+.d
new file mode 100644
index 0000000..f097363
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c62x c64x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c62x.s
+#source: attr-arch-c64x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x.d b/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x.d
new file mode 100644
index 0000000..6ebb94f
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c62x c64x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c62x.s
+#source: attr-arch-c64x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c62x-c674x.d b/ld/testsuite/ld-tic6x/attr-arch-c62x-c674x.d
new file mode 100644
index 0000000..5fa0d9e
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c62x-c674x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c62x c674x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c62x.s
+#source: attr-arch-c674x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x+.d b/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x+.d
new file mode 100644
index 0000000..449d5dd
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c62x c67x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c62x.s
+#source: attr-arch-c67x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x.d b/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x.d
new file mode 100644
index 0000000..47e295c
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c62x c67x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c62x.s
+#source: attr-arch-c67x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c62x.s b/ld/testsuite/ld-tic6x/attr-arch-c62x.s
new file mode 100644
index 0000000..e69fbf4
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c62x.s
@@ -0,0 +1 @@
+.arch c62x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x+-c62x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c62x.d
new file mode 100644
index 0000000..d05dbb6
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c62x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x+ c62x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x+.s
+#source: attr-arch-c62x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x+.d b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x+.d
new file mode 100644
index 0000000..29f00c0
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x+ c64x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x+.s
+#source: attr-arch-c64x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x.d
new file mode 100644
index 0000000..d007b23
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x+ c64x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x+.s
+#source: attr-arch-c64x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x+-c674x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c674x.d
new file mode 100644
index 0000000..bef1c3f
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c674x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x+ c674x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x+.s
+#source: attr-arch-c674x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x+.d b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x+.d
new file mode 100644
index 0000000..7bcfa8d
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x+ c67x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x+.s
+#source: attr-arch-c67x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x.d
new file mode 100644
index 0000000..68a3d2d
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x+ c67x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x+.s
+#source: attr-arch-c67x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x+.s b/ld/testsuite/ld-tic6x/attr-arch-c64x+.s
new file mode 100644
index 0000000..2c2f210
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x+.s
@@ -0,0 +1 @@
+.arch c64x+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x-c62x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x-c62x.d
new file mode 100644
index 0000000..47f87db
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x-c62x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x c62x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x.s
+#source: attr-arch-c62x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x+.d b/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x+.d
new file mode 100644
index 0000000..648915c
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x c64x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x.s
+#source: attr-arch-c64x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x.d
new file mode 100644
index 0000000..1f2e286
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x c64x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x.s
+#source: attr-arch-c64x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C64x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x-c674x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x-c674x.d
new file mode 100644
index 0000000..d27fa57
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x-c674x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x c674x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x.s
+#source: attr-arch-c674x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x+.d b/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x+.d
new file mode 100644
index 0000000..ee809a7
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x c67x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x.s
+#source: attr-arch-c67x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x.d b/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x.d
new file mode 100644
index 0000000..9df8d0f
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c64x c67x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c64x.s
+#source: attr-arch-c67x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c64x.s b/ld/testsuite/ld-tic6x/attr-arch-c64x.s
new file mode 100644
index 0000000..438d0f8
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c64x.s
@@ -0,0 +1 @@
+.arch c64x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c674x-c62x.d b/ld/testsuite/ld-tic6x/attr-arch-c674x-c62x.d
new file mode 100644
index 0000000..53dc64d
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c674x-c62x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c674x c62x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c674x.s
+#source: attr-arch-c62x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x+.d b/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x+.d
new file mode 100644
index 0000000..b7d9c64
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c674x c64x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c674x.s
+#source: attr-arch-c64x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x.d b/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x.d
new file mode 100644
index 0000000..5a06c9a
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c674x c64x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c674x.s
+#source: attr-arch-c64x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c674x-c674x.d b/ld/testsuite/ld-tic6x/attr-arch-c674x-c674x.d
new file mode 100644
index 0000000..41b41e5
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c674x-c674x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c674x c674x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c674x.s
+#source: attr-arch-c674x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x+.d b/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x+.d
new file mode 100644
index 0000000..77be063
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c674x c67x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c674x.s
+#source: attr-arch-c67x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x.d b/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x.d
new file mode 100644
index 0000000..38acd9a
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c674x c67x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c674x.s
+#source: attr-arch-c67x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c674x.s b/ld/testsuite/ld-tic6x/attr-arch-c674x.s
new file mode 100644
index 0000000..41b3886
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c674x.s
@@ -0,0 +1 @@
+.arch c674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x+-c62x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c62x.d
new file mode 100644
index 0000000..0d58d50
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c62x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x+ c62x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x+.s
+#source: attr-arch-c62x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x+.d b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x+.d
new file mode 100644
index 0000000..65baf14
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x+ c64x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x+.s
+#source: attr-arch-c64x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x.d
new file mode 100644
index 0000000..e4c55d9
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x+ c64x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x+.s
+#source: attr-arch-c64x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x+-c674x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c674x.d
new file mode 100644
index 0000000..41207d6
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c674x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x+ c674x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x+.s
+#source: attr-arch-c674x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x+.d b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x+.d
new file mode 100644
index 0000000..27b717b
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x+ c67x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x+.s
+#source: attr-arch-c67x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x.d
new file mode 100644
index 0000000..73d2312
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x+ c67x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x+.s
+#source: attr-arch-c67x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x+.s b/ld/testsuite/ld-tic6x/attr-arch-c67x+.s
new file mode 100644
index 0000000..f4c22de
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x+.s
@@ -0,0 +1 @@
+.arch c67x+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x-c62x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x-c62x.d
new file mode 100644
index 0000000..e0dc26c
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x-c62x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x c62x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x.s
+#source: attr-arch-c62x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x+.d b/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x+.d
new file mode 100644
index 0000000..82a3d12
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x c64x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x.s
+#source: attr-arch-c64x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x.d
new file mode 100644
index 0000000..b7e7cba
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x c64x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x.s
+#source: attr-arch-c64x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x-c674x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x-c674x.d
new file mode 100644
index 0000000..83e671c
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x-c674x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x c674x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x.s
+#source: attr-arch-c674x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C674x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x+.d b/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x+.d
new file mode 100644
index 0000000..d51886c
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x+.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x c67x+
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x.s
+#source: attr-arch-c67x+.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x\+
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x.d b/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x.d
new file mode 100644
index 0000000..aaa49fc
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x.d
@@ -0,0 +1,10 @@
+#name: C6X arch attribute merging, c67x c67x
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-arch-c67x.s
+#source: attr-arch-c67x.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_C6XABI_Tag_CPU_arch: C67x
diff --git a/ld/testsuite/ld-tic6x/attr-arch-c67x.s b/ld/testsuite/ld-tic6x/attr-arch-c67x.s
new file mode 100644
index 0000000..a7e5ba6
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-arch-c67x.s
@@ -0,0 +1 @@
+.arch c67x