On Monday 16 January 2006 7:34 pm, David Daney wrote:
> Kishore K wrote:
> > hi
> > When 2.4.32 kernel (from linux-mips) is compiled with the tool chain
> > based on gcc 3.4.4 and binutils 2.16.1, the kernel crashes on malta
> > board. The crash file is enclosed along with the mail. If the same
> > kernel is compiled with the tool chain based on gcc 3.3.6, no problem is
> > observed.
> >
> > May I know, whether it is because of the changes in ABI in gcc 3.4.
>
> Not exactly. It has to do with -funit-at-a-time. In the 2.4.x kernel
> it is assumed that gcc will not reorder top level asm statements and
> functions. For gcc-3.3.x and earlier this was a valid assumption. With
> 3.4.x and later it is not.
>
Does that apply to gcc-4.0.2 as well? It is mentioned in linux documentation
that -funit-at-a-time is safe as of gcc-4.x. Is there (I'm not a MIPS expert)
a way to verify whether gcc produces wrong instructions?
I've had a similar problem (I only try with gcc 4, because I compile linux
2.6) and is reduced when I use -fno-unit-at-a-time. Still, I have
instability, which now appears less often.
I've tried the '-fno-unit-at-a-time' solution (for the whole kernel) and the
'pop/push' at interrupt.h fix.
> > If
> > so, has any one got the patch to make 2.4.x kernels work with gcc 3.4
> > compilers? From the changelog, I can infer that, some changes have been
> > done in 2.4.28 kernel to work with gcc 3.4 for i386. If so, has the same
> > thing been done for MIPS as well.
>
> IIRC the patches were never applied to linux-mips.org. If you search
> the archives of this list for messages that I sent, you can find the
> patches.
Can you please list the necessary patches? One line for each would do, as I
want to check if I have them all.
>
> David Daney.
|