This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] Fix thumb calls via PLT on ARM/SymbianOS
- From: Richard Earnshaw <rearnsha at gcc dot gnu dot org>
- To: Julian Brown <julian at codesourcery dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Wed, 16 Mar 2005 14:23:12 +0000
- Subject: Re: [PATCH] Fix thumb calls via PLT on ARM/SymbianOS
- Organization: GNU
- References: <42383FF3.4080604@codesourcery.com>
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.