On Thu, 19 Aug 2004 16:33:13 +0200, Richard Zidlicky wrote: > On Thu, Aug 19, 2004 at 12:46:48PM +0200, Thierry Godefroy wrote: > > .../... > > > I changed it for: > > asm __volatile__ (".chip 68060; frestore %0" : : "m" (zero)); > > > > and everything seems to compile fine (resulting kernel still to be tested > > though)... Of course, there should be a different .chip directive for each > > processor type, I think (though frestore is perhaps assembled into the same > > opcode for all variations of CPU/FPU... I didn't check it either). It would > > be interesting to see what was in setup.c for Linux v2.4.23 (or 2.4.26), > > but I cruelly lack time and I no more got the sources handy. > > > > Nevertheless, it still sounds strange to me that "as" seems to ignore the > > -m68060 option passed to gcc (or is gcc not passing that option to "as" ?), > > as the '.chip 68060' should be implicit with -m68060 on... > > pretty strange, ".chip m68k" should reset to the value defined by "-m" > or the default which would be 68020+fpu. > Strange thing is that it did never trigger before.. there are thousands > more .chip m68k directives in the sources and they always used to work > fine.
Even weirder: by checking with ps the parameters passed by gcc to "as", I can see that -m68040 of passed instead of -m68060, while gcc does receive the -m68060 option !... This should not make any difference for the above problem as the 68040 also got a FPU, but it shows that "as" recieves the wrong option from gcc 3.1... Thierry Godefroy.