Hi Harald,
>
> On 02-Jul-00 Ulf Carlsson wrote:
> > CVSROOT: /oss/CVS/cvs
> > Module name: linux
> > Changes by: ulfc@oss.sgi.com 00/07/02 12:29:58
> >
> > Modified files:
> > include/asm-mips: delay.h param.h
> >
> > Log message:
> > We have to clobber ``hi'' and ``lo'' in __udelay. Nasty bug.
>
> Unfortunately my compilers don't like it.
>
> mipsel-linux-gcc: egcs-2.90.29 980515 (egcs-1.0.3 release) (rpm from oss):
>
> timer.c: In function `sys_nanosleep':
> timer.c:848: fixed or forbidden register was spilled.
> This may be due to a compiler bug or to impossible asm
> statements or clauses.
>
> mips64-linunx-gcc: egcs-2.91.66 (rpm from oss):
>
> timer.c: In function `sys_nanosleep':
> timer.c:848: fixed or forbidden register 64 (hi) was spilled for class
> HI_REG.
> This may be due to a compiler bug or to impossible asm
> statements or clauses.
>
I noticed this myself yesterday while I was trying to compile a MIPS64
kernel. I had not seen it before because I'm using GCC 2.96, and it
doesn't complain. This is probably a compiler bug.
Ulf
|