Don't relax undefined symbols on ppc.
Alan Modra
amodra@gmail.com
Tue Jul 10 01:59:00 GMT 2018
On Mon, Jul 09, 2018 at 01:58:33PM -0700, Douglas B Rupp wrote:
> There is a problem with --relax in the partial link trying to relax the
> undefined symbols, leading to the RTP failing at startup with signal 11.
Please describe the problem in detail. ld -r --relax non-pic is
supposed to work for ppc32, with a branch to an undefined symbol being
resolved to a trampoline which has relocations to the symbol. Are the
emitted relocations wrong?
> I solicit comments on the attached patch, which causes undefined symbols to
> be ignored during the relax process. Leaving them to be relaxed and
> resolved during the final link.
If ld -r mashes together sections such that the resulting output
section size exceeds the reach of a branch, then it may not be
possible to for branches to reach trampolines placed at the end of the
section. That's the problem ld -r --relax is trying to solve, by
placing trampolines at the end of each input section.
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list