From: Maciej W. Rozycki Date: Thu, 26 May 2016 11:24:45 +0000 (+0100) Subject: MIPS/BFD: Don't stop processing on `bfd_reloc_outofrange' X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=ed53407eec9e;p=deliverable%2Fbinutils-gdb.git 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) : 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3250acc72c..bb9cb3c5e0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,11 @@ +2016-05-26 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_relocate_section) + : Use the `%X%H' rather than `%C' format + for message. Continue processing rather than returning failure. + 2016-05-25 Maciej W. Rozycki - + * elfxx-mips.c (_bfd_mips_elf_relocate_section) : Call `->einfo' rather than `->warning'. Call `bfd_set_error'. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index c695278e52..3e7b48845b 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -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. */ diff --git a/ld/ChangeLog b/ld/ChangeLog index 9812e7cb46..4462450b9b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,45 @@ +2016-05-26 Maciej W. Rozycki + + * 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 PR target/20134 diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index ceb588d44f..f9bbcec5dc 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 571a293efc..a37e5a914f 100644 --- a/ld/testsuite/ld-mips-elf/unaligned-jalx-0.d +++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-0.d @@ -9,6 +9,8 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> 77000008 jalx 1c000020 +[0-9a-f]+ <[^>]*> 00000000 nop +[0-9a-f]+ <[^>]*> 77000009 jalx 1c000024 [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 11e874a28a..46e542dc10 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 9cbf6540da..650bd8f8c4 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 c401cfe0a5..0000000000 --- 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 -[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 34de1396a7..0000000000 --- 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 5b3dea1072..2622103bd7 100644 --- a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d +++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d @@ -9,6 +9,8 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> f300 0008 jalx 1c000020 +[0-9a-f]+ <[^>]*> 0000 0000 nop +[0-9a-f]+ <[^>]*> f300 0009 jalx 1c000024 [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 a63fa310a7..2df19df182 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 8c0702323a..0000000000 --- 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 -[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 9609736967..176680d64c 100644 --- a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d +++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d @@ -9,6 +9,8 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> 1c18 0008 jalx 1c000020 +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> 1c18 0009 jalx 1c000024 [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 45188e0e46..4c3e1bbd0b 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 d406651321..0000000000 --- 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 -[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 126c1b1f04..84b356c050 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 +[0-9a-f]+ <[^>]*> ec590005 ldpc v0,1c080028 \.\.\. diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s b/ld/testsuite/ld-mips-elf/unaligned-ldpc-0.s index c99b4b7b96..22fcd727be 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 1213cd0d5c..ca20d61b38 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 4afe84975c..40b44e3ae5 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 6c0176caae..0000000000 --- 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 11e88f6131..0000000000 --- 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 7a95d1c912..0000000000 --- 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 dac870f21c..0000000000 --- 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 d5610a7f10..0000000000 --- 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 - \.\.\. 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 596cccb1e0..0000000000 --- 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 89c56c8a11..b7b2946f97 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 +[0-9a-f]+ <[^>]*> ec4a0008 lwpc v0,1c080024 \.\.\. diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s b/ld/testsuite/ld-mips-elf/unaligned-lwpc-0.s index 5d997f52ea..028969f1be 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 f4cf317422..39f03c3dc9 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 595ebb9bed..c8d4edfaed 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 287582827c..0000000000 --- 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 1debe4d164..0000000000 --- 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 bda99c3d34..0000000000 --- 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 - \.\.\. 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 667d7d987e..0000000000 --- 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