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