[PATCH] Fix thumb calls via PLT on ARM/SymbianOS

Richard Earnshaw rearnsha@gcc.gnu.org
Wed Mar 16 14:56:00 GMT 2005


On Wed, 2005-03-16 at 14:17, Julian Brown wrote:
> Hi,
> 
> This patch fixes calls made from thumb mode via the PLT on SymbianOS. 
> PLT entries are written in ARM mode, but previously they were being 
> called in thumb mode, with their address incorrectly offset by -4 
> (PLT_THUMB_STUB_SIZE).
> 
> Now, the target address has been corrected and the thumb BL instruction 
> is rewritten as BLX to perform the mode switch before attempting to 
> execute the PLT entry. (BLX is an armv5t instruction, but as SymbianOS 
> is only targeted at armv5t+, this should always be OK.)
> 
> The hardwired "4" for the thumb stub size on non-SymbianOS targets has 
> also been rewritten as PLT_THUMB_STUB_SIZE.
> 
> OK to apply?

This sounds like a hack.  I'd much rather a generic solution were found
(and which permitted the blx optimization if available).

R.



More information about the Binutils mailing list