ARM/THUMB long calls stubs

Nick Clifton nickc@redhat.com
Thu Jul 29 15:58:00 GMT 2004


Hi Sami,

> Would it be hard to do patch (against gcc 3.4.1) to try following (thumb
> mode): 
> 
> 	bl	1f
> 	b	2f
> 1:	bx	Rn
> 2:

Indeed - try the attached patch.

> And maybe following in ARM mode:
> 
> 	bl	1f
> 1:	add	lr,lr,#8	/* is this ok? */
> 	bx	Rn

I do not think that this should be needed.  The problem, if I recall 
correctly, was that the call_via_... stub functions might have been out 
of range of the Thumb's BL instruction.  Since these stubs are not used 
in ARM mode, there should be no need to synthesize a branch to them.

Cheers
   Nick

PS.  This patch will not be applied to the sources since the correct 
thing to do is to fix this problem in the linker.


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: arm.md.patch
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20040729/e9b6d91b/attachment.ksh>


More information about the Gcc-bugs mailing list