MIPS/BFD: Don't stop processing on `bfd_reloc_outofrange'
authorMaciej W. Rozycki <macro@imgtec.com>
Thu, 26 May 2016 11:24:45 +0000 (12:24 +0100)
committerMaciej W. Rozycki <macro@imgtec.com>
Thu, 26 May 2016 11:28:59 +0000 (12:28 +0100)
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.

33 files changed:
bfd/ChangeLog
bfd/elfxx-mips.c
ld/ChangeLog
ld/testsuite/ld-mips-elf/mips-elf.exp
ld/testsuite/ld-mips-elf/unaligned-jalx-0.d
ld/testsuite/ld-mips-elf/unaligned-jalx-0.s
ld/testsuite/ld-mips-elf/unaligned-jalx-1.d
ld/testsuite/ld-mips-elf/unaligned-jalx-2.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-jalx-2.s [deleted file]
ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d
ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d
ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d
ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d
ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-ldpc-0.d
ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s
ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d
ld/testsuite/ld-mips-elf/unaligned-ldpc-1.s
ld/testsuite/ld-mips-elf/unaligned-ldpc-2.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-ldpc-2.s [deleted file]
ld/testsuite/ld-mips-elf/unaligned-ldpc-3.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-ldpc-3.s [deleted file]
ld/testsuite/ld-mips-elf/unaligned-ldpc-4.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-ldpc-4.s [deleted file]
ld/testsuite/ld-mips-elf/unaligned-lwpc-0.d
ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s
ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d
ld/testsuite/ld-mips-elf/unaligned-lwpc-1.s
ld/testsuite/ld-mips-elf/unaligned-lwpc-2.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-lwpc-2.s [deleted file]
ld/testsuite/ld-mips-elf/unaligned-lwpc-3.d [deleted file]
ld/testsuite/ld-mips-elf/unaligned-lwpc-3.s [deleted file]

index 3250acc72c6cc81465d46099b2159a51d5934742..bb9cb3c5e07abd77f077408c52777bc59735d37d 100644 (file)
@@ -1,5 +1,11 @@
+2016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * 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.
+
 2016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
-    
+
        * elfxx-mips.c (_bfd_mips_elf_relocate_section)
        <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
        Call `bfd_set_error'.
index c695278e52e2cb7fd57acd7b67841869bfbab0f6..3e7b48845be9c25cdf83073018808c3b2a3a4c26 100644 (file)
@@ -10267,9 +10267,8 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
          if (msg)
            {
              info->callbacks->einfo
-               ("%C: %s\n", input_bfd, input_section, rel->r_offset, msg);
-             bfd_set_error (bfd_error_bad_value);
-             return FALSE;
+               ("%X%H: %s\n", input_bfd, input_section, rel->r_offset, msg);
+             break;
            }
          /* Fall through.  */
 
index 9812e7cb46b9612d6d5319234900e683c36e2721..4462450b9b623d958deee121ef3d76b5ac171f18 100644 (file)
@@ -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
index ceb588d44fe63240c3b3e667e2f89520bd90d89b..f9bbcec5dcc6dabab4467a94b491cc5a1ecc0030 100644 (file)
@@ -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.
index 571a293efc9925b5eda448507d2bdd3cb8d3a817..a37e5a914f72fbdc501541e207c48540312385d9 100644 (file)
@@ -9,6 +9,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
        \.\.\.
        \.\.\.
index 11e874a28a8495075e8d6b66579845085a577035..46e542dc104da8b0c7236e3783fd8fd6a134b730 100644 (file)
@@ -4,6 +4,7 @@
        .ent    foo
 foo:
        jal     bar0
+       jal     bar2
        .end    foo
 
 # Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
index 9cbf6540da1ee700cf6b6c3d575f80c2835e2cc3..650bd8f8c434f0461c4f7160f12aaf4d49b998ff 100644 (file)
@@ -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 (file)
index c401cfe..0000000
+++ /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 (file)
index 34de139..0000000
+++ /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
index 5b3dea1072d3bbf029b110f40f621881fb171091..2622103bd7ea78bca0c02af69868fa4f0714fd01 100644 (file)
@@ -9,6 +9,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
        \.\.\.
        \.\.\.
index a63fa310a7e9f26e2c64347a004f208df5c96309..2df19df18220a2aff696b80d2e3f12a6746aa4af 100644 (file)
@@ -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 (file)
index 8c07023..0000000
+++ /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
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
index 9609736967da2d40b9789bb368e6f390db6ab38e..176680d64c736d61714358bae5f592428aedfa86 100644 (file)
@@ -9,6 +9,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
        \.\.\.
        \.\.\.
index 45188e0e46aef91f8dd7608bb625eb1825443298..4c3e1bbd0bf3fa08e4c40b2b9ab413743acae8a2 100644 (file)
@@ -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 (file)
index d406651..0000000
+++ /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
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
-       \.\.\.
index 126c1b1f046eb31a3e58b94e2c342e4a88b298b9..84b356c050a990db031f7595155bca6d3eb229ea 100644 (file)
@@ -9,4 +9,5 @@
 
 Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> ec590004     ldpc    v0,1c080020 <bar0>
+[0-9a-f]+ <[^>]*> ec590005     ldpc    v0,1c080028 <bar8>
        \.\.\.
index c99b4b7b96fc5ed8dcccdcc4be9c65947c8b0223..22fcd727be032850167415dc8b12d7d9ff7eb58c 100644 (file)
@@ -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 ...
index 1213cd0d5c1dc1db218ead100cde96b555f119db..ca20d61b3839786f96b6638ce5e1015923417aca 100644 (file)
@@ -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
index 4afe84975cdfab5d8103cda98ccd10b94715f5fd..40b44e3ae5bfd97b08d3b07ca6657575bd40bfcc 100644 (file)
@@ -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 (file)
index 6c0176c..0000000
+++ /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 (file)
index 11e88f6..0000000
+++ /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 (file)
index 7a95d1c..0000000
+++ /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 (file)
index dac870f..0000000
+++ /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 (file)
index d5610a7..0000000
+++ /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 (file)
index 596cccb..0000000
+++ /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
index 89c56c8a11b999245fa0730b6cc387c6d27de377..b7b2946f9731dc4cfe894ede1ecd69cc08c88a2b 100644 (file)
@@ -9,4 +9,5 @@
 
 Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> ec4a0008     lwpc    v0,1c080020 <bar0>
+[0-9a-f]+ <[^>]*> ec4a0008     lwpc    v0,1c080024 <bar4>
        \.\.\.
index 5d997f52ea6af2c7df01f62630a10306a51dfaa0..028969f1be4c0189fd3b8b30a4190102229770bd 100644 (file)
@@ -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 ...
index f4cf317422c9a9d548479bca5a94277b21f16c40..39f03c3dc952912a491aec581e74c77e40b887cc 100644 (file)
@@ -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
index 595ebb9bed9599027c48f1a6099339f10db8f237..c8d4edfaed7f11589c98d09eeba5e6e47a244a33 100644 (file)
@@ -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 (file)
index 2875828..0000000
+++ /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 (file)
index 1debe4d..0000000
+++ /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 (file)
index bda99c3..0000000
+++ /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 (file)
index 667d7d9..0000000
+++ /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