This is the mail archive of the
mailing list for the binutils project.
Re: MIPS JAL/JALR to BAL transformation for Linux (o32 ABI)
Adam Nemet <email@example.com> writes:
> "Fu, Chao-Ying" <firstname.lastname@example.org> writes:
>> In order to utilize this optimization, we need to
>> use -mno-explicit-relocs for GCC to let the assembler emit
>> BFD_RELOC_MIPS_JALR for shared libraries (-mshared).
> I agree that we should try to use BAL in shared libraries. However it
> seems to me that requiring -mno-explicit-relocs is a high price to pay.
> Can't we instead change the calls in shared libraries to also use the
> PLT (or the locally binding function directly if possible)?
If we can't do this there is also the other idea which we used to do to
avoid -mno-explicit-relocs in our toolchain. Emit jalr and jr with an
extra optional operand that is the symbol name of the function for PIC
calls and use that to create the JALR relocation.