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 3250acc..bb9cb3c 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 c695278..3e7b488 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 9812e7c..4462450 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 ceb588d..f9bbcec 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 571a293..a37e5a9 100644 (file)
@@ -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
        \.\.\.
        \.\.\.
        \.\.\.
index 11e874a..46e542d 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 9cbf654..650bd8f 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 5b3dea1..2622103 100644 (file)
@@ -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
        \.\.\.
        \.\.\.
        \.\.\.
index a63fa31..2df19df 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 9609736..176680d 100644 (file)
@@ -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
        \.\.\.
        \.\.\.
        \.\.\.
index 45188e0..4c3e1bb 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 126c1b1..84b356c 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 c99b4b7..22fcd72 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 1213cd0..ca20d61 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 4afe849..40b44e3 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 89c56c8..b7b2946 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 5d997f5..028969f 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 f4cf317..39f03c3 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 595ebb9..c8d4edf 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