Re: [2.6.15-rc5-git3] hpet.c causes FC4 GCC 4.0.2 to bomb with unrecognizable insn

From: Alessandro Suardi
Date: Sat Dec 17 2005 - 15:49:36 EST


On 12/17/05, Andrew Morton <akpm@xxxxxxxx> wrote:
> Alessandro Suardi <alessandro.suardi@xxxxxxxxx> wrote:
> >
> > CC drivers/char/hpet.o
> > drivers/char/hpet.c: In function `hpet_calibrate':
> > drivers/char/hpet.c:803: Unrecognizable insn:
> > (insn/i 95 270 264 (parallel[
> > (set (reg:SI 0 eax)
> > (asm_operands ("") ("=a") 0[
> > (reg:DI 1 edx)
> > ]
> > [
> > (asm_input:DI ("A"))
> > ] ("drivers/char/hpet.c") 452))
> > (set (reg:SI 1 edx)
> > (asm_operands ("") ("=d") 1[
> > (reg:DI 1 edx)
> > ]
> > [
> > (asm_input:DI ("A"))
> > ] ("drivers/char/hpet.c") 452))
> > (clobber (reg:QI 19 dirflag))
> > (clobber (reg:QI 18 fpsr))
> > (clobber (reg:QI 17 flags))
> > ] ) -1 (insn_list 92 (nil))
> > (nil))
> > drivers/char/hpet.c:803: confused by earlier errors, bailing out
> > make[2]: *** [drivers/char/hpet.o] Error 1
> > make[1]: *** [drivers/char] Error 2
> > make: *** [drivers] Error 2
> >
>
> Same compiler works OK here, so it's presumably "fixed" by some some good
> .config luck.
>
> If we can find a decent workaround in-kernel it's worth putting it in.
> It's quite possible that inlined hpet_time_div() - please try uninlining
> it.
>

Coincidence - I was about to post the fact that my earlier report
was due to a pilot error (TM).

I had installed the compat-gcc packages due to legacy software
which expected /usr/bin/gcc to be the FC2 2.96 GCC, then I
forgot to point /usr/bin/gcc back to FC4 4.0.2 GCC.

So there is a compiler which bombs, but it's this one:

[asuardi@sandman ~]$ /usr/bin/gcc296 -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux7/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-126)

Sorry for the false alarm about GCC 4.0.2. According to the
current Documentation/Changes the 2.96 compiler seems to
be expected to build these kernels, so perhaps there still is
something to be looked into.

If anyone is interested I can try uninlining hpet_time_div()
and rebuild with 2.96 then report back.

Thanks,

--alessandro

"Somehow all you ever need is, never really quite enough, you know"

(Bruce Springsteen - "Reno")
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/