MIPS stubs in Gold

Ian Lance Taylor iant@google.com
Wed Jun 1 15:43:00 GMT 2011


Aleksandar Simeonov <Aleksandar.Simeonov@RT-RK.com> writes:

> Again I have problem that occupy me for some time and for what I can't
> find solution. Situation is as follows (next text is taken from
> elfxx-mips.c from ld):
>
> "Information about a non-PIC interface to a PIC function.  There are
>    two ways of creating these interfaces.  The first is to add:
>
> 	lui	$25,%hi(func)
> 	addiu	$25,$25,%lo(func)
>
>    immediately before a PIC function "func".  The second is to add:
>
> 	lui	$25,%hi(func)
> 	j	func
> 	addiu	$25,$25,%lo(func)
>
>    to a separate trampoline section.
>
>    Stubs of the first kind go in a new section immediately before the
>    target function.  Stubs of the second kind go in a single section
>    pointed to by the hash table's "strampoline" field."
>
> I tried to find something similar in Gold for other architectures, but
> without success. Can you give me some suggestions where to look and what
> to do to implement this.

The ARM backend implements stubs, e.g., for calls between ARM and Thumb
code.  Search for "stub" and "Stub".  You probably don't have to do
anything as complex for the MIPS backend.  At least, I hope not.

Ian



More information about the Binutils mailing list