aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2010-10-29 16:47:55 +0000
committerJoseph Myers <joseph@codesourcery.com>2010-10-29 16:47:55 +0000
commit3cbd1c0665a545ae6627ed4242c2939cd98f390d (patch)
tree8b65cc9767ceab99b97281ed03f75f1fb2cf1df0 /ld
parent29d4a7cacd9464cd0dc6f7789385b6e713527196 (diff)
downloadgdb-3cbd1c0665a545ae6627ed4242c2939cd98f390d.zip
gdb-3cbd1c0665a545ae6627ed4242c2939cd98f390d.tar.gz
gdb-3cbd1c0665a545ae6627ed4242c2939cd98f390d.tar.bz2
bfd:
* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check Tag_ABI_compatibility not Tag_compatibility. (elf32_tic6x_merge_attributes): Update compatibility attribute name in comment. Return FALSE if merging common attributes fails. binutils: * readelf.c (display_tic6x_attribute): Use Tag_ABI_compatibility not hardcoded 32. Display name of this attribute. gas: * doc/c-tic6x.texi (TIC6X Directives): Mention Tag_ABI_compatibility. gas/testsuite: * gas/tic6x/attr-compatibility-directive-1.d, gas/tic6x/attr-compatibility-directive-1.s, gas/tic6x/attr-compatibility-directive-2.d, gas/tic6x/attr-compatibility-directive-2.s: New tests. include/elf: * tic6x-attrs.h (Tag_ABI_compatibility): Define. ld/testsuite: * ld-tic6x/attr-compatibility-gnu-gnu.d, ld-tic6x/attr-compatibility-gnu-other.d, ld-tic6x/attr-compatibility-gnu.s, ld-tic6x/attr-compatibility-other-gnu.d, ld-tic6x/attr-compatibility-other-other.d, ld-tic6x/attr-compatibility-other.s: New tests.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog9
-rw-r--r--ld/testsuite/ld-tic6x/attr-compatibility-gnu-gnu.d11
-rw-r--r--ld/testsuite/ld-tic6x/attr-compatibility-gnu-other.d6
-rw-r--r--ld/testsuite/ld-tic6x/attr-compatibility-gnu.s1
-rw-r--r--ld/testsuite/ld-tic6x/attr-compatibility-other-gnu.d6
-rw-r--r--ld/testsuite/ld-tic6x/attr-compatibility-other-other.d6
-rw-r--r--ld/testsuite/ld-tic6x/attr-compatibility-other.s1
7 files changed, 40 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 18533d6..0f80eb3 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2010-10-29 Joseph Myers <joseph@codesourcery.com>
+
+ * ld-tic6x/attr-compatibility-gnu-gnu.d,
+ ld-tic6x/attr-compatibility-gnu-other.d,
+ ld-tic6x/attr-compatibility-gnu.s,
+ ld-tic6x/attr-compatibility-other-gnu.d,
+ ld-tic6x/attr-compatibility-other-other.d,
+ ld-tic6x/attr-compatibility-other.s: New tests.
+
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/compress1c.d: Only run for Linux targets.
diff --git a/ld/testsuite/ld-tic6x/attr-compatibility-gnu-gnu.d b/ld/testsuite/ld-tic6x/attr-compatibility-gnu-gnu.d
new file mode 100644
index 0000000..4cba64e
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-compatibility-gnu-gnu.d
@@ -0,0 +1,11 @@
+#name: C6X compatibility attribute merging, gnu gnu
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-compatibility-gnu.s
+#source: attr-compatibility-gnu.s
+#readelf: -A
+
+Attribute Section: c6xabi
+File Attributes
+ Tag_ISA: C674x
+ Tag_ABI_compatibility: flag = 1, vendor = gnu
diff --git a/ld/testsuite/ld-tic6x/attr-compatibility-gnu-other.d b/ld/testsuite/ld-tic6x/attr-compatibility-gnu-other.d
new file mode 100644
index 0000000..423ab07
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-compatibility-gnu-other.d
@@ -0,0 +1,6 @@
+#name: C6X compatibility attribute merging, gnu other
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-compatibility-gnu.s
+#source: attr-compatibility-other.s
+#error: .*Object has vendor-specific contents that must be processed by the 'other' toolchain
diff --git a/ld/testsuite/ld-tic6x/attr-compatibility-gnu.s b/ld/testsuite/ld-tic6x/attr-compatibility-gnu.s
new file mode 100644
index 0000000..b013058
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-compatibility-gnu.s
@@ -0,0 +1 @@
+.c6xabi_attribute Tag_ABI_compatibility, 1, "gnu"
diff --git a/ld/testsuite/ld-tic6x/attr-compatibility-other-gnu.d b/ld/testsuite/ld-tic6x/attr-compatibility-other-gnu.d
new file mode 100644
index 0000000..80d73e5
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-compatibility-other-gnu.d
@@ -0,0 +1,6 @@
+#name: C6X compatibility attribute merging, other gnu
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-compatibility-other.s
+#source: attr-compatibility-gnu.s
+#error: .*Object tag '1, gnu' is incompatible with tag '1, other'
diff --git a/ld/testsuite/ld-tic6x/attr-compatibility-other-other.d b/ld/testsuite/ld-tic6x/attr-compatibility-other-other.d
new file mode 100644
index 0000000..0ebd99b
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-compatibility-other-other.d
@@ -0,0 +1,6 @@
+#name: C6X compatibility attribute merging, other other
+#as: -mlittle-endian
+#ld: -r -melf32_tic6x_le
+#source: attr-compatibility-other.s
+#source: attr-compatibility-other.s
+#error: .*Object has vendor-specific contents that must be processed by the 'other' toolchain
diff --git a/ld/testsuite/ld-tic6x/attr-compatibility-other.s b/ld/testsuite/ld-tic6x/attr-compatibility-other.s
new file mode 100644
index 0000000..38a605a
--- /dev/null
+++ b/ld/testsuite/ld-tic6x/attr-compatibility-other.s
@@ -0,0 +1 @@
+.c6xabi_attribute Tag_ABI_compatibility, 1, "other"