[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#397139: ftbfs alpha + ia64



On Mon, Nov 06, 2006 at 10:02:51AM +0100, Falk Hueffner wrote:
> Steve Langasek <vorlon@debian.org> 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.
vorlon@debian.org                                   http://www.debian.org/



Reply to: