On Mon, Nov 06, 2006 at 10:02:51AM +0100, Falk Hueffner wrote: > Steve Langasek <[EMAIL PROTECTED]> writes:
> > On Sun, Nov 05, 2006 at 01:56:28PM +0100, maximilian attems wrote: > >> {standard input}:372: Error: macro requires $at register while noat in > >> effect > >> make[5]: *** [arch/alpha/kernel/core_cia.o] Error 1 > >> make[4]: *** [arch/alpha/kernel] Error 2 > > Taking a look at the assembler output for core_cia, this is due to use of > > the ldbu, ldwu, stb, and stw instructions in asm-alpha/compiler.h, which are > > instructions specific to ev56 and above. They are also guarded in the > > source by an #if !defined(__alpha_bwx__). It looks like the difference is > > in the assembler between gcc-4.0 and gcc-4.1; specifically, gcc-4.1 emits a > > '.arch ev5' directive, where gcc-4.0 does not. > I made a patch against gcc to suppress gcc outputting .arch directives > that don't do anything useful except triggering this error, and it > went in in 4.1.1ds2-17. Unfortunately, I thought an .ev4 directive > would be the problem, while it seems to be .ev5. It gets better -- after fixing up the first bit of assembly in the source, I've found that there's also embedded assembly in sys_titan.c which is specific to ev6. So even emitting ".arch ev56" is going to give a build failure. Which convinces me even more that the right answer is to fix the kernel instead of disabling gcc's ability to sanity-check the insns used. Patch available as soon as I get to the end of the build. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]