aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-mmix
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2011-07-25 01:16:05 +0000
committerHans-Peter Nilsson <hp@axis.com>2011-07-25 01:16:05 +0000
commit4b9dc14e0c15d9c1892c360846db87d4990a9ff5 (patch)
treea3e27cf6cd45903a07a5ed77b12ee5587209025e /ld/testsuite/ld-mmix
parent18978b27d62c14b707df1248f44a6847d81fa45a (diff)
downloadgdb-4b9dc14e0c15d9c1892c360846db87d4990a9ff5.zip
gdb-4b9dc14e0c15d9c1892c360846db87d4990a9ff5.tar.gz
gdb-4b9dc14e0c15d9c1892c360846db87d4990a9ff5.tar.bz2
PR ld/12815
* ld-mmix/pr12815-1.d, ld-mmix/pr12815-1.s, ld-mmix/pr12815-1.ld, ld-mmix/pr12815-2.d, ld-mmix/pr12815-2.s: New tests.
Diffstat (limited to 'ld/testsuite/ld-mmix')
-rw-r--r--ld/testsuite/ld-mmix/pr12815-1.d7
-rw-r--r--ld/testsuite/ld-mmix/pr12815-1.ld14
-rw-r--r--ld/testsuite/ld-mmix/pr12815-1.s26
-rw-r--r--ld/testsuite/ld-mmix/pr12815-2.d7
-rw-r--r--ld/testsuite/ld-mmix/pr12815-2.s14
5 files changed, 68 insertions, 0 deletions
diff --git a/ld/testsuite/ld-mmix/pr12815-1.d b/ld/testsuite/ld-mmix/pr12815-1.d
new file mode 100644
index 0000000..41680b9
--- /dev/null
+++ b/ld/testsuite/ld-mmix/pr12815-1.d
@@ -0,0 +1,7 @@
+#as: -no-predefined-syms -x
+#ld: -e 0x1000 -m elf64mmix -T $srcdir/$subdir/pr12815-1.ld
+#error: invalid input relocation.*objcopy.*"-mno-base-addresses".*truncated
+
+# Check that we emit a meaningful error message rather than SEGV when
+# someone attempts linking to the "binary" output format with
+# -mbase-addresses in effect.
diff --git a/ld/testsuite/ld-mmix/pr12815-1.ld b/ld/testsuite/ld-mmix/pr12815-1.ld
new file mode 100644
index 0000000..1658cd3
--- /dev/null
+++ b/ld/testsuite/ld-mmix/pr12815-1.ld
@@ -0,0 +1,14 @@
+OUTPUT_FORMAT("binary")
+ENTRY(start)
+SECTIONS
+{
+ . = 0x8000000000100000;
+ .text : AT(ADDR(.text) - 0x8000000000100000)
+ {
+ *(.text)
+ *(.data)
+ *(.rodata*)
+ *(COMMON*)
+ *(.bss*)
+ }
+}
diff --git a/ld/testsuite/ld-mmix/pr12815-1.s b/ld/testsuite/ld-mmix/pr12815-1.s
new file mode 100644
index 0000000..b03fa61
--- /dev/null
+++ b/ld/testsuite/ld-mmix/pr12815-1.s
@@ -0,0 +1,26 @@
+# 1 "m.c"
+! mmixal:= 8H LOC Data_Section
+ .text ! mmixal:= 9H LOC 8B
+ .data ! mmixal:= 8H LOC 9B
+ .p2align 2
+ LOC @+(4-@)&3
+foo IS @
+ TETRA #2
+ .text ! mmixal:= 9H LOC 8B
+ .p2align 2
+ LOC @+(4-@)&3
+ .global main
+main IS @
+ SUBU $254,$254,8
+ STOU $253,$254,0
+ ADDU $253,$254,8
+ LDT $0,foo
+ ADDU $0,$0,1
+ SET $0,$0
+ STTU $0,foo
+ SETL $0,0
+ LDO $253,$254,0
+ ADDU $254,$254,8
+ POP 1,0
+
+ .data ! mmixal:= 8H LOC 9B
diff --git a/ld/testsuite/ld-mmix/pr12815-2.d b/ld/testsuite/ld-mmix/pr12815-2.d
new file mode 100644
index 0000000..47966a3
--- /dev/null
+++ b/ld/testsuite/ld-mmix/pr12815-2.d
@@ -0,0 +1,7 @@
+#as: -no-predefined-syms -x
+#ld: -e 0x1000 --defsym bar=0x100000000 -m elf64mmix -T $srcdir/$subdir/pr12815-1.ld
+#error: invalid input relocation.*objcopy.*"-no-expand".*truncated
+
+# Check that we emit a meaningful error message rather than SEGV when
+# someone attempts linking to the "binary" output format with
+# expanding PUSHJ insns, expecting relaxation to work.
diff --git a/ld/testsuite/ld-mmix/pr12815-2.s b/ld/testsuite/ld-mmix/pr12815-2.s
new file mode 100644
index 0000000..16d9ad9
--- /dev/null
+++ b/ld/testsuite/ld-mmix/pr12815-2.s
@@ -0,0 +1,14 @@
+# 1 "m.c"
+! mmixal:= 8H LOC Data_Section
+ .text ! mmixal:= 9H LOC 8B
+ .p2align 2
+ LOC @+(4-@)&3
+ .global main
+main IS @
+ GET $0,rJ
+ PUSHJ $1,bar
+ PUSHJ $1,bar
+ PUT rJ,$0
+ POP 1,0
+
+ .data ! mmixal:= 8H LOC 9B