This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Long call support broke Thumb veneers


On Monday 09 June 2008, Daniel Jacobowitz wrote:
> On Mon, Jun 09, 2008 at 03:16:50PM +0200, Christophe LYON wrote:
> >> I don't think it's a good idea to have two completely different code
> >> paths which produce similar stubs.  And if you handle R_ARM_CALL but
> >> not R_ARM_JUMP24, then you'll insert islands for normal calls but not
> >> for sibling calls, which is unfortunate.
> >
> > My initial need is only to support R_ARM_CALL and R_ARM_THM_CALL
> > relocations (we use only EABI).
> > I also considered changing the code handling the relocs you mention, but
> > as I would be unable to test it properly I prefered not to change it.
>
> R_ARM_JUMP24 is also an EABI relocation, used for tail calls.

It's also used for conditional calls (e.g. bleq foo).

R_ARM_THM_JUMP24 also needs similar handling. The compiler doesn't currently 
generate it, but there are occurances in some of the runtime libraries.

Paul


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]