linux-origin
[Top] [All Lists]

compiler bug?

To: ralf@xxxxxxxxxxx, ulfc@xxxxxxxxxxxxxxxxxxx
Subject: compiler bug?
From: kanoj@xxxxxxxxxxxxxxxxxxx (Kanoj Sarcar)
Date: Tue, 25 Apr 2000 11:16:39 -0700 (PDT)
Cc: linux-origin@xxxxxxxxxxx
Sender: owner-linux-origin@xxxxxxxxxxx
I think I have hit another compiler bug.

To demonstrate, check out a top of trunk source tree. Then try
to compile the kernel in UP mode. The compilation fails like
this:

mips64-linux-gcc -D__KERNEL__ -I/build2/kanoj/mips64/linux.work2/include -Wall 
-Wst
rict-prototypes -O2 -fomit-frame-pointer -mabi=64 -G 0 -mno-abicalls -fno-pic 
-pipe -mcpu=r8000 -mips4 -Wa,-32 -fno-strict-aliasing -c r4k_genex.S -o 
r4k_genex.o
r4k_genex.S: Assembler messages:
r4k_genex.S:168: Warning: Missing .end or .bend at end of file
mips64-linux-gcc: Internal compiler error: program as got fatal signal 11
make[1]: *** [r4k_genex.o] Error 1
make[1]: Leaving directory `/build2/kanoj/mips64/linux.work2/arch/mips64/kernel'
make: *** [_dir_arch/mips64/kernel] Error 2

To fix this, you need to delete at least one instruction from the
include/asm-mips64/stackframe.h file under the CONFIG_SMP code
block. Ie, deleting at least one instruction from the code block

                mfc0    k1, CP0_WATCHHI
                mfc0    k0, CP0_WATCHLO
                dsll32  k1, k1, 0
                or      k1, k1, k0
                li      k0, K0BASE
                or      k1, k1, k0
                daddiu  k1, k1, KERNEL_STACK_SIZE-32

will cure the problem.

If any of you guys have a chance to track down what's going on, let me
know. Otherwise, just aply this workaround while compiling an UP kernel.

Kanoj

<Prev in Thread] Current Thread [Next in Thread>