MIPS/BFD: Don't stop processing on a cross-mode jump conversion error
authorMaciej W. Rozycki <macro@imgtec.com>
Tue, 21 Jun 2016 13:06:27 +0000 (14:06 +0100)
committerMaciej W. Rozycki <macro@imgtec.com>
Tue, 21 Jun 2016 13:18:23 +0000 (14:18 +0100)
commit5f68df25f869d74f0235276a81536392fd376e6d
treedd8c7be1f1586b18720cd8c263f13d65ae593e97
parent04d59df6f311bcc20d74ada64a5e15a4bbb40026
MIPS/BFD: Don't stop processing on a cross-mode jump conversion error

As with commit ed53407eec9e ("MIPS/BFD: Don't stop processing on
`bfd_reloc_outofrange'") don't bail out right away and instead continue
processing on a cross-mode jump conversion error, so that any further
issues are also reported.  Adjust message formatting accordingly, using
`%X' to abort processing at conclusion.  Remove the full stop from the
end of the message, for consistency across error reporting.

Adjust the corresponding test case accordingly and make it trigger the
error twice.

bfd/
* elfxx-mips.c (mips_elf_perform_relocation): Call
`info->callbacks->einfo' rather than `*_bfd_error_handler' and
use the `%X%H' format for the cross-mode jump conversion error
message.  Remove the full stop from the end of the message.
Continue processing rather than returning failure.

ld/
* testsuite/ld-mips-elf/mode-change-error-1a.s: Trigger an error
twice rather than once.
* testsuite/ld-mips-elf/mode-change-error-1.d: Adjust
accordingly.  Remove the full stop from the end of the message.
bfd/ChangeLog
bfd/elfxx-mips.c
ld/ChangeLog
ld/testsuite/ld-mips-elf/mode-change-error-1.d
ld/testsuite/ld-mips-elf/mode-change-error-1a.s