Millicode calls, GP register, ld -r
Alan Modra
alan@linuxcare.com.au
Fri, 11 Aug 2000 17:32:33 +1000 (EST)
On 10 Aug 2000, David Huggins-Daines wrote:
> Oh boy, it's worse. It looks like $$dyncall has been clobbering %r19
> with bogus values all along, actually, because we're only using four
> bytes for our PLABELs, and it wants to load the linkage table pointer
> from the second (non-existent) word:
>
Hi David,
On thinking about this $$dyncall issue a bit more, what use are PLABELs in
PIC code anyway? As far as I can see, PLABELs are used for two things:
1) to provide an unique address for a function
2) as a place to hang argument relocation information
We're not doing (2), and (1) is satisfied by the value in the PLTGOT.
So... I can turn a PLABEL reference into a GOT reference, which will
magically fix the $$dyncall problem.
Comments?
Alan Modra
--
Linuxcare. Support for the Revolution.