pa reload problem
Richard Hirst
rhirst@linuxcare.com
Mon, 4 Dec 2000 18:40:09 +0000
On Sat, Dec 02, 2000 at 06:15:14PM +1100, Alan Modra wrote:
> > I hope I'm not supposed to do anything special with that $$divU call,
>
> Unfortunately, I think you are supposed to. All the $$ routines are from
> the millicode library, and are treated specially by the linker. When
> doing a final link, these functions are never supplied by a shared
> library, but must come from a static lib like libgcc.a, or
> libmilli.a. This has the effect of never calling these routines via the
> .plt, and so dp is preserved. gcc isn't doing anything wrong here.
>
> If you use a long branch stub that only trashes r1, you should be OK.
> _Don't load dp for these routines! (I hope all libmilli routines are
> re-entrant - if not, we'd probably have weird kernel crashes...)
OK, done that, thanks.
> Note that all of the above applies to 32-bit modutils too.
Shouldn't be an issue with 32 bit, as kernel and modules all have
the same dp there.
Richard