MIPS/LD: Continue processing with refused relocations in PIC code
authorMaciej W. Rozycki <macro@linux-mips.org>
Tue, 27 Nov 2018 16:34:03 +0000 (16:34 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Tue, 27 Nov 2018 16:34:03 +0000 (16:34 +0000)
commitaff68bd0415c6f834cf1717865b5b44dea6b9ef5
tree56c35189c5c0b549fe18fd4a264a2915b26ab24b
parenta5990ada637d978c43c6ff07941c56e97a3e6965
MIPS/LD: Continue processing with refused relocations in PIC code

Switch from `_bfd_error_handler' to `info->callbacks->einfo' with error
reporting concerning the use of position-dependent relocations such as
R_MIPS_HI16 or R_MIPS_26 in PIC code and continue processing so that any
subsequent link errors are also shown rather than the linker terminating
right away.  This can reduce user frustration where correcting one error
only reveals another one; instead all are shown together making them all
possible to investigate at once.  The use of the `%X' specifier causes
the linker to terminate unsuccessfully at the end of processing.

Also fix the message to say `cannot' rather than `can not'.

bfd/
* elfxx-mips.c (_bfd_mips_elf_check_relocs) <R_MIPS16_26>
<R_MIPS_26, R_MICROMIPS_26_S1>: Use `info->callbacks->einfo'
rather than `_bfd_error_handler' to report refused relocations
in PIC code and continue processing.  Fix error message: `can
not' -> `cannot'.
bfd/ChangeLog
bfd/elfxx-mips.c