aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2016-05-26 12:24:45 +0100
committerMaciej W. Rozycki <macro@imgtec.com>2016-05-26 12:28:59 +0100
commited53407eec9eba3b55a3a00fb7eaa7eddbf01363 (patch)
treeabf4dced982505b61144fe149fc99e7374e237e9 /ld
parent0d832c8ea736150cb246f8988b2f9f78bf58de5e (diff)
downloadgdb-ed53407eec9eba3b55a3a00fb7eaa7eddbf01363.zip
gdb-ed53407eec9eba3b55a3a00fb7eaa7eddbf01363.tar.gz
gdb-ed53407eec9eba3b55a3a00fb7eaa7eddbf01363.tar.bz2
MIPS/BFD: Don't stop processing on `bfd_reloc_outofrange'
Upon a `bfd_reloc_outofrange' error continue processing so that any further issues are also reported, similarly to how `bfd_reloc_overflow' is handled. Adjust message formatting accordingly, using `%X' to abort processing at conclusion. Reduce the number of test cases by grouping relocations the handling of which can now be verified together with a single source and dump. bfd/ * elfxx-mips.c (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format for message. Continue processing rather than returning failure. ld/ * testsuite/ld-mips-elf/unaligned-jalx-0.d: Fold `unaligned-jalx-2' here. * testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d: Fold `unaligned-jalx-mips16-2' here. * testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d: Fold `unaligned-jalx-micromips-2' here. * testsuite/ld-mips-elf/unaligned-jalx-0.s: Update accordingly. * testsuite/ld-mips-elf/unaligned-jalx-1.d: Update error message. * testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-2.d: Remove test. * testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d: Remove test. * testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d: Remove test. * testsuite/ld-mips-elf/unaligned-jalx-2.s: Remove test source. * testsuite/ld-mips-elf/unaligned-lwpc-0.d: Fold `unaligned-lwpc-3' here. * testsuite/ld-mips-elf/unaligned-lwpc-0.s: Update accordingly. * testsuite/ld-mips-elf/unaligned-lwpc-1.d: Fold `unaligned-lwpc-2' here. * testsuite/ld-mips-elf/unaligned-lwpc-1.s: Update accordingly. * testsuite/ld-mips-elf/unaligned-lwpc-2.d: Remove test. * testsuite/ld-mips-elf/unaligned-lwpc-2.s: Remove test source. * testsuite/ld-mips-elf/unaligned-lwpc-3.d: Remove test. * testsuite/ld-mips-elf/unaligned-lwpc-3.s: Remove test source. * testsuite/ld-mips-elf/unaligned-ldpc-0.d: Fold `unaligned-ldpc-4' here. * testsuite/ld-mips-elf/unaligned-ldpc-0.s: Update accordingly. * testsuite/ld-mips-elf/unaligned-ldpc-1.d: Update error message. Fold `unaligned-ldpc-2' and `unaligned-ldpc-3' here. * testsuite/ld-mips-elf/unaligned-ldpc-1.s: Update accordingly. * testsuite/ld-mips-elf/unaligned-ldpc-2.d: Remove test. * testsuite/ld-mips-elf/unaligned-ldpc-2.s: Remove test source. * testsuite/ld-mips-elf/unaligned-ldpc-3.d: Remove test. * testsuite/ld-mips-elf/unaligned-ldpc-3.s: Remove test source. * testsuite/ld-mips-elf/unaligned-ldpc-4.d: Remove test. * testsuite/ld-mips-elf/unaligned-ldpc-4.s: Remove test source. * testsuite/ld-mips-elf/mips-elf.exp: Delete removed tests.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog42
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp8
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-0.d2
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-0.s1
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-1.d3
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-2.d21
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-2.s11
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d2
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d3
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d21
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d2
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d3
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d21
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-0.d1
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s1
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d5
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-1.s2
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-2.d8
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-2.s11
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-3.d8
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-3.s11
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-4.d12
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-ldpc-4.s11
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-0.d1
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s1
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d3
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-1.s1
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-2.d8
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-2.s11
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-3.d12
-rw-r--r--ld/testsuite/ld-mips-elf/unaligned-lwpc-3.s11
31 files changed, 65 insertions, 193 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 9812e7c..4462450 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,45 @@
+2016-05-26 Maciej W. Rozycki <macro@imgtec.com>
+
+ * testsuite/ld-mips-elf/unaligned-jalx-0.d: Fold
+ `unaligned-jalx-2' here.
+ * testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d: Fold
+ `unaligned-jalx-mips16-2' here.
+ * testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d: Fold
+ `unaligned-jalx-micromips-2' here.
+ * testsuite/ld-mips-elf/unaligned-jalx-0.s: Update accordingly.
+ * testsuite/ld-mips-elf/unaligned-jalx-1.d: Update error
+ message.
+ * testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-2.d: Remove test.
+ * testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d: Remove test.
+ * testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d: Remove
+ test.
+ * testsuite/ld-mips-elf/unaligned-jalx-2.s: Remove test source.
+ * testsuite/ld-mips-elf/unaligned-lwpc-0.d: Fold
+ `unaligned-lwpc-3' here.
+ * testsuite/ld-mips-elf/unaligned-lwpc-0.s: Update accordingly.
+ * testsuite/ld-mips-elf/unaligned-lwpc-1.d: Fold
+ `unaligned-lwpc-2' here.
+ * testsuite/ld-mips-elf/unaligned-lwpc-1.s: Update accordingly.
+ * testsuite/ld-mips-elf/unaligned-lwpc-2.d: Remove test.
+ * testsuite/ld-mips-elf/unaligned-lwpc-2.s: Remove test source.
+ * testsuite/ld-mips-elf/unaligned-lwpc-3.d: Remove test.
+ * testsuite/ld-mips-elf/unaligned-lwpc-3.s: Remove test source.
+ * testsuite/ld-mips-elf/unaligned-ldpc-0.d: Fold
+ `unaligned-ldpc-4' here.
+ * testsuite/ld-mips-elf/unaligned-ldpc-0.s: Update accordingly.
+ * testsuite/ld-mips-elf/unaligned-ldpc-1.d: Update error
+ message. Fold `unaligned-ldpc-2' and `unaligned-ldpc-3' here.
+ * testsuite/ld-mips-elf/unaligned-ldpc-1.s: Update accordingly.
+ * testsuite/ld-mips-elf/unaligned-ldpc-2.d: Remove test.
+ * testsuite/ld-mips-elf/unaligned-ldpc-2.s: Remove test source.
+ * testsuite/ld-mips-elf/unaligned-ldpc-3.d: Remove test.
+ * testsuite/ld-mips-elf/unaligned-ldpc-3.s: Remove test source.
+ * testsuite/ld-mips-elf/unaligned-ldpc-4.d: Remove test.
+ * testsuite/ld-mips-elf/unaligned-ldpc-4.s: Remove test source.
+ * testsuite/ld-mips-elf/mips-elf.exp: Delete removed tests.
+
2016-05-26 Nick Clifton <nickc@redhat.com>
PR target/20134
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index ceb588d..f9bbcec 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -179,23 +179,15 @@ if $has_newabi {
run_dump_test "unaligned-jalx-0" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-jalx-1" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-2" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-jalx-mips16-0" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-jalx-mips16-1" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-mips16-2" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-jalx-micromips-0" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-jalx-micromips-1" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-micromips-2" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-lwpc-0" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-lwpc-1" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-lwpc-2" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-lwpc-3" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-ldpc-0" [list [list ld $abi_ldflags(o32)]]
run_dump_test "unaligned-ldpc-1" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-ldpc-2" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-ldpc-3" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-ldpc-4" [list [list ld $abi_ldflags(o32)]]
# Test multi-got link. We only do this on GNU/Linux because it requires
# the "traditional" emulations.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-0.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-0.d
index 571a293..a37e5a9 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-0.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-0.d
@@ -10,6 +10,8 @@
Disassembly of section \.text:
[0-9a-f]+ <[^>]*> 77000008 jalx 1c000020 <bar0>
[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 77000009 jalx 1c000024 <bar2>
+[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
\.\.\.
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-0.s b/ld/testsuite/ld-mips-elf/unaligned-jalx-0.s
index 11e874a..46e542d 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-0.s
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-0.s
@@ -4,6 +4,7 @@
.ent foo
foo:
jal bar0
+ jal bar2
.end foo
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d
index 9cbf654..650bd8f 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d
@@ -4,5 +4,4 @@
#as: -EB -32
#ld: -EB -Ttext 0x1c000000 -e 0x1c000000
#error: \A[^\n]*: In function `foo':\n
-#error: \(\.text\+0x[0-9a-f]+\): JALX to a non-word-aligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
+#error: \(\.text\+0x[0-9a-f]+\): JALX to a non-word-aligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-2.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-2.d
deleted file mode 100644
index c401cfe..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-2.d
+++ /dev/null
@@ -1,21 +0,0 @@
-#name: MIPS JALX to unaligned symbol 2
-#source: unaligned-jalx-2.s
-#source: unaligned-insn.s -mips16
-#as: -EB -32
-#ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#objdump: -dr --prefix-addresses --show-raw-insn
-
-.*: +file format .*mips.*
-
-Disassembly of section \.text:
-[0-9a-f]+ <[^>]*> 77000009 jalx 1c000024 <bar2>
-[0-9a-f]+ <[^>]*> 00000000 nop
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-2.s b/ld/testsuite/ld-mips-elf/unaligned-jalx-2.s
deleted file mode 100644
index 34de139..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-2.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .align 4
- .globl foo
- .ent foo
-foo:
- jal bar2
- .end foo
-
-# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
- .align 4, 0
- .space 16
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d
index 5b3dea1..2622103 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d
@@ -10,6 +10,8 @@
Disassembly of section \.text:
[0-9a-f]+ <[^>]*> f300 0008 jalx 1c000020 <bar0>
[0-9a-f]+ <[^>]*> 0000 0000 nop
+[0-9a-f]+ <[^>]*> f300 0009 jalx 1c000024 <bar2>
+[0-9a-f]+ <[^>]*> 0000 0000 nop
\.\.\.
\.\.\.
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d
index a63fa31..2df19df 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d
@@ -4,5 +4,4 @@
#as: -EB -32
#ld: -EB -Ttext 0x1c000000 -e 0x1c000000
#error: \A[^\n]*: In function `foo':\n
-#error: \(\.text\+0x[0-9a-f]+\): JALX to a non-word-aligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
+#error: \(\.text\+0x[0-9a-f]+\): JALX to a non-word-aligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d
deleted file mode 100644
index 8c07023..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d
+++ /dev/null
@@ -1,21 +0,0 @@
-#name: microMIPS JALX to unaligned symbol 2
-#source: unaligned-jalx-2.s -mmicromips
-#source: unaligned-insn.s
-#as: -EB -32
-#ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#objdump: -dr --prefix-addresses --show-raw-insn
-
-.*: +file format .*mips.*
-
-Disassembly of section \.text:
-[0-9a-f]+ <[^>]*> f300 0009 jalx 1c000024 <bar2>
-[0-9a-f]+ <[^>]*> 0000 0000 nop
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d
index 9609736..176680d 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d
@@ -10,6 +10,8 @@
Disassembly of section \.text:
[0-9a-f]+ <[^>]*> 1c18 0008 jalx 1c000020 <bar0>
[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 1c18 0009 jalx 1c000024 <bar2>
+[0-9a-f]+ <[^>]*> 6500 nop
\.\.\.
\.\.\.
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d
index 45188e0..4c3e1bb 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d
@@ -4,5 +4,4 @@
#as: -EB -32
#ld: -EB -Ttext 0x1c000000 -e 0x1c000000
#error: \A[^\n]*: In function `foo':\n
-#error: \(\.text\+0x[0-9a-f]+\): JALX to a non-word-aligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
+#error: \(\.text\+0x[0-9a-f]+\): JALX to a non-word-aligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d
deleted file mode 100644
index d406651..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d
+++ /dev/null
@@ -1,21 +0,0 @@
-#name: MIPS16 JALX to unaligned symbol 2
-#source: unaligned-jalx-2.s -mips16
-#source: unaligned-insn.s
-#as: -EB -32
-#ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#objdump: -dr --prefix-addresses --show-raw-insn
-
-.*: +file format .*mips.*
-
-Disassembly of section \.text:
-[0-9a-f]+ <[^>]*> 1c18 0009 jalx 1c000024 <bar2>
-[0-9a-f]+ <[^>]*> 6500 nop
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.d b/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.d
index 126c1b1..84b356c 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.d
@@ -9,4 +9,5 @@
Disassembly of section \.text:
[0-9a-f]+ <[^>]*> ec590004 ldpc v0,1c080020 <bar0>
+[0-9a-f]+ <[^>]*> ec590005 ldpc v0,1c080028 <bar8>
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s b/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s
index c99b4b7..22fcd72 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s
+++ b/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s
@@ -4,6 +4,7 @@
.ent foo
foo:
ldpc $2, bar0
+ ldpc $2, bar8
.end foo
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d b/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d
index 1213cd0..ca20d61 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d
@@ -5,4 +5,7 @@
#ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
#error: \A[^\n]*: In function `foo':\n
#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
+#error: [^\n]*: In function `foo':\n
+#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
+#error: [^\n]*: In function `foo':\n
+#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.s b/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.s
index 4afe849..40b44e3 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.s
+++ b/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.s
@@ -4,6 +4,8 @@
.ent foo
foo:
ldpc $2, bar1
+ ldpc $2, bar2
+ ldpc $2, bar4
.end foo
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-2.d b/ld/testsuite/ld-mips-elf/unaligned-ldpc-2.d
deleted file mode 100644
index 6c0176c..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-2.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#name: MIPS LDPC from unaligned symbol 2
-#source: unaligned-ldpc-2.s
-#source: unaligned-syms.s
-#as: -EB -32 -mips64r6
-#ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
-#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-2.s b/ld/testsuite/ld-mips-elf/unaligned-ldpc-2.s
deleted file mode 100644
index 11e88f6..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-2.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .align 4
- .globl foo
- .ent foo
-foo:
- ldpc $2, bar2
- .end foo
-
-# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
- .align 4, 0
- .space 16
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-3.d b/ld/testsuite/ld-mips-elf/unaligned-ldpc-3.d
deleted file mode 100644
index 7a95d1c..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-3.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#name: MIPS LDPC from unaligned symbol 3
-#source: unaligned-ldpc-3.s
-#source: unaligned-syms.s
-#as: -EB -32 -mips64r6
-#ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
-#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-3.s b/ld/testsuite/ld-mips-elf/unaligned-ldpc-3.s
deleted file mode 100644
index dac870f..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-3.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .align 4
- .globl foo
- .ent foo
-foo:
- ldpc $2, bar4
- .end foo
-
-# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
- .align 4, 0
- .space 16
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-4.d b/ld/testsuite/ld-mips-elf/unaligned-ldpc-4.d
deleted file mode 100644
index d5610a7..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-4.d
+++ /dev/null
@@ -1,12 +0,0 @@
-#name: MIPS LDPC from unaligned symbol 4
-#source: unaligned-ldpc-4.s
-#source: unaligned-syms.s
-#as: -EB -32 -mips64r6
-#ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
-#objdump: -dr --prefix-addresses --show-raw-insn
-
-.*: +file format .*mips.*
-
-Disassembly of section \.text:
-[0-9a-f]+ <[^>]*> ec590005 ldpc v0,1c080028 <bar8>
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-4.s b/ld/testsuite/ld-mips-elf/unaligned-ldpc-4.s
deleted file mode 100644
index 596cccb..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-4.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .align 4
- .globl foo
- .ent foo
-foo:
- ldpc $2, bar8
- .end foo
-
-# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
- .align 4, 0
- .space 16
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.d b/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.d
index 89c56c8..b7b2946 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.d
@@ -9,4 +9,5 @@
Disassembly of section \.text:
[0-9a-f]+ <[^>]*> ec4a0008 lwpc v0,1c080020 <bar0>
+[0-9a-f]+ <[^>]*> ec4a0008 lwpc v0,1c080024 <bar4>
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s b/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s
index 5d997f5..028969f 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s
+++ b/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s
@@ -4,6 +4,7 @@
.ent foo
foo:
lwpc $2, bar0
+ lwpc $2, bar4
.end foo
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d b/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d
index f4cf317..39f03c3 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d
@@ -5,4 +5,5 @@
#ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
#error: \A[^\n]*: In function `foo':\n
#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
+#error: [^\n]*: In function `foo':\n
+#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.s b/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.s
index 595ebb9..c8d4edf 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.s
+++ b/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.s
@@ -4,6 +4,7 @@
.ent foo
foo:
lwpc $2, bar1
+ lwpc $2, bar2
.end foo
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-2.d b/ld/testsuite/ld-mips-elf/unaligned-lwpc-2.d
deleted file mode 100644
index 2875828..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-2.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#name: MIPS LWPC from unaligned symbol 2
-#source: unaligned-lwpc-2.s
-#source: unaligned-syms.s
-#as: -EB -32 -mips32r6
-#ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
-#error: \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
-#error: [^\n]*: final link failed: Bad value\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-2.s b/ld/testsuite/ld-mips-elf/unaligned-lwpc-2.s
deleted file mode 100644
index 1debe4d..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-2.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .align 4
- .globl foo
- .ent foo
-foo:
- lwpc $2, bar2
- .end foo
-
-# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
- .align 4, 0
- .space 16
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-3.d b/ld/testsuite/ld-mips-elf/unaligned-lwpc-3.d
deleted file mode 100644
index bda99c3..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-3.d
+++ /dev/null
@@ -1,12 +0,0 @@
-#name: MIPS LWPC from unaligned symbol 3
-#source: unaligned-lwpc-3.s
-#source: unaligned-syms.s
-#as: -EB -32 -mips32r6
-#ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
-#objdump: -dr --prefix-addresses --show-raw-insn
-
-.*: +file format .*mips.*
-
-Disassembly of section \.text:
-[0-9a-f]+ <[^>]*> ec4a0009 lwpc v0,1c080024 <bar4>
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-3.s b/ld/testsuite/ld-mips-elf/unaligned-lwpc-3.s
deleted file mode 100644
index 667d7d9..0000000
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-3.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .align 4
- .globl foo
- .ent foo
-foo:
- lwpc $2, bar4
- .end foo
-
-# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
- .align 4, 0
- .space 16