aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog12
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp11
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-0.d41
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-1.d41
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d19
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d19
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d6
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d6
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d6
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d6
10 files changed, 167 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 16133b8..324ab9d 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,15 @@
+2017-05-03 Maciej W. Rozycki <macro@imgtec.com>
+
+ * testsuite/ld-mips-elf/mips16-pcrel-0.d: New test.
+ * testsuite/ld-mips-elf/mips16-pcrel-1.d: New test.
+ * testsuite/ld-mips-elf/mips16-pcrel-addend-2.d: New test.
+ * testsuite/ld-mips-elf/mips16-pcrel-addend-6.d: New test.
+ * testsuite/ld-mips-elf/mips16-pcrel-n32-0.d: New test.
+ * testsuite/ld-mips-elf/mips16-pcrel-n32-1.d: New test.
+ * testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d: New test.
+ * testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d: New test.
+ * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
+
2017-05-03 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/ld-elf/pr21384.d: Adjusted to accommodate
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index 068ea54..13d962b 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -154,6 +154,17 @@ if $has_newabi {
[list [list ld $abi_ldflags(n64)]]
}
+run_dump_test "mips16-pcrel-0" [list [list ld $abi_ldflags(o32)]]
+run_dump_test "mips16-pcrel-1" [list [list ld $abi_ldflags(o32)]]
+run_dump_test "mips16-pcrel-addend-2" [list [list ld $abi_ldflags(o32)]]
+run_dump_test "mips16-pcrel-addend-6" [list [list ld $abi_ldflags(o32)]]
+if $has_newabi {
+ run_dump_test "mips16-pcrel-n32-0" [list [list ld $abi_ldflags(n32)]]
+ run_dump_test "mips16-pcrel-n32-1" [list [list ld $abi_ldflags(n32)]]
+ run_dump_test "mips16-pcrel-n64-sym32-0" [list [list ld $abi_ldflags(n64)]]
+ run_dump_test "mips16-pcrel-n64-sym32-1" [list [list ld $abi_ldflags(n64)]]
+}
+
run_dump_test "mips16-branch-2" [list [list ld $abi_ldflags(o32)]]
run_dump_test "mips16-branch-3" [list [list ld $abi_ldflags(o32)]]
run_dump_test "mips16-branch-addend-2" [list [list ld $abi_ldflags(o32)]]
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-0.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-0.d
new file mode 100644
index 0000000..b1bfab6
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-0.d
@@ -0,0 +1,41 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative operations 0
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-0.s
+#as: -EB -32
+#ld: -EB -Ttext 0 -e 0
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+ \.\.\.
+[0-9a-f]+ <[^>]*> 0a00 la v0,0+010000 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> b200 lw v0,0+010004 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 0aff la v0,0+010404 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> b2ff lw v0,0+010408 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> f400 0a00 la v0,0+010410 <.*>
+[0-9a-f]+ <[^>]*> f400 b200 lw v0,0+010414 <.*>
+[0-9a-f]+ <[^>]*> f7ff 0a1c la v0,0+010014 <.*>
+[0-9a-f]+ <[^>]*> f7ff b21c lw v0,0+010018 <.*>
+[0-9a-f]+ <[^>]*> f7ef 0a1f la v0,0+01801f <.*>
+[0-9a-f]+ <[^>]*> f7ef b21f lw v0,0+018023 <.*>
+[0-9a-f]+ <[^>]*> f010 0a00 la v0,0+008028 <.*>
+[0-9a-f]+ <[^>]*> f010 b200 lw v0,0+00802c <.*>
+[0-9a-f]+ <[^>]*> f000 6a02 li v0,2
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f030 4a10 addiu v0,-32720
+[0-9a-f]+ <[^>]*> f000 6a02 li v0,2
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f030 9a5c lw v0,-32708\(v0\)
+[0-9a-f]+ <[^>]*> f000 6a01 li v0,1
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f050 4a07 addiu v0,-32697
+[0-9a-f]+ <[^>]*> f000 6a01 li v0,1
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f050 9a53 lw v0,-32685\(v0\)
+[0-9a-f]+ <[^>]*> 6500 nop
+ \.\.\.
+ \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-1.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-1.d
new file mode 100644
index 0000000..0fe3a2b
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-1.d
@@ -0,0 +1,41 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative operations 1
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-1.s
+#as: -EB -32 -mips3
+#ld: -EB -Ttext 0 -e 0
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+ \.\.\.
+[0-9a-f]+ <[^>]*> fe40 dla v0,0+010000 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> fc40 ld v0,0+010000 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> fe5f dla v0,0+010084 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> fc5f ld v0,0+010100 <.*>
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> f080 fe40 dla v0,0+010090 <.*>
+[0-9a-f]+ <[^>]*> f100 fc40 ld v0,0+010110 <.*>
+[0-9a-f]+ <[^>]*> f7ff fe5c dla v0,0+010014 <.*>
+[0-9a-f]+ <[^>]*> f7ff fc5c ld v0,0+010014 <.*>
+[0-9a-f]+ <[^>]*> f7ef fe5f dla v0,0+01801f <.*>
+[0-9a-f]+ <[^>]*> f7ef fc5f ld v0,0+01801f <.*>
+[0-9a-f]+ <[^>]*> f010 fe40 dla v0,0+008028 <.*>
+[0-9a-f]+ <[^>]*> f010 fc40 ld v0,0+008028 <.*>
+[0-9a-f]+ <[^>]*> f000 6a02 li v0,2
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f030 fd50 daddiu v0,-32720
+[0-9a-f]+ <[^>]*> f000 6a02 li v0,2
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f030 3a58 ld v0,-32712\(v0\)
+[0-9a-f]+ <[^>]*> f000 6a01 li v0,1
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f050 fd47 daddiu v0,-32697
+[0-9a-f]+ <[^>]*> f000 6a01 li v0,1
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f050 3a4f ld v0,-32689\(v0\)
+[0-9a-f]+ <[^>]*> 6500 nop
+ \.\.\.
+ \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d
new file mode 100644
index 0000000..d04d035
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d
@@ -0,0 +1,19 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative relocation with addend 2
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-addend-2.s
+#as: -EB -32
+#ld: -EB -Ttext 0x43210000 -e 0
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+ \.\.\.
+[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f264 4a04 addiu v0,8804
+[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f264 9a44 lw v0,8804\(v0\)
+[0-9a-f]+ <[^>]*> 6500 nop
+ \.\.\.
+ \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d
new file mode 100644
index 0000000..134f107
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d
@@ -0,0 +1,19 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative relocation with addend 6
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-addend-6.s
+#as: -EB -32 -mips3
+#ld: -EB -Ttext 0x43210000 -e 0
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+ \.\.\.
+[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f264 fd44 daddiu v0,8804
+[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185
+[0-9a-f]+ <[^>]*> f400 3240 sll v0,16
+[0-9a-f]+ <[^>]*> f264 3a44 ld v0,8804\(v0\)
+[0-9a-f]+ <[^>]*> 6500 nop
+ \.\.\.
+ \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d
new file mode 100644
index 0000000..70102a1
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d
@@ -0,0 +1,6 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative operations 0 (n32)
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-0.s
+#as: -EB -n32 -mips3
+#ld: -EB -Ttext 0 -e 0
+#dump: mips16-pcrel-0.d
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d
new file mode 100644
index 0000000..f456fda
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d
@@ -0,0 +1,6 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative operations 1 (n32)
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-1.s
+#as: -EB -n32 -mips3
+#ld: -EB -Ttext 0 -e 0
+#dump: mips16-pcrel-1.d
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d
new file mode 100644
index 0000000..aad6877
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d
@@ -0,0 +1,6 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative operations 0 (n64, sym32)
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-0.s
+#as: -EB -64 -msym32 -mips3
+#ld: -EB -Ttext 0 -e 0
+#dump: mips16-pcrel-0.d
diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d
new file mode 100644
index 0000000..9a1a5de
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d
@@ -0,0 +1,6 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS16 link PC-relative operations 1 (n64, sym32)
+#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-1.s
+#as: -EB -64 -msym32 -mips3
+#ld: -EB -Ttext 0 -e 0
+#dump: mips16-pcrel-1.d