On 2001.01.19 Jay Woods wrote:
> I had understood that the kernel wouldn't compile with gcc 2.96 but rather no
> later that 2.95 (according to Linus). ---Jay
> 

The only compiler that is granted to compile kernel 2.4 ok is egcs-1.1.2. It
is guaranteed that it generates correct code. 

For 2.95.2, probably it makes no mistake, but IS NOT GUARANTEED. That means
that most of the things will work, but perhaps in your particular setup you
use a driver that is miscompiled by 2.95. 

And 2.96 is the same, its optimizer
was horribly broken (I saw a test in kernel list that showed 3 lines of C
code that when optimized-reorganized by gcc-2.96 produced INCORRECT assembler
results like first using a variable and after this asigning the initial value).
But the state of 2.96 is much much better now, so you can even trust a bit
on it to compile a kernel.

The fact is (as I have seen in the kernel list)
that when 2.96 is guaranteed not to be buggy, will produce better code than
egcs and 2.95.

In mandrake case, the better setup is to have gcc-cpp, gcc, gcc-c++, libstdc++
and libstdc++-devel (and if you need it, g77 or objective c) from the
2.96 version. And it you do no trust 2.96 to build kernels, install
egcs and egcs-cpp (just those two packages, no egcs-c++ nor any egcs-xxxxx
more). egcs installs a binary called kgcc, that recent kernels can detect
and use to build kernels.

-- 
J.A. Magallon                                                      $> cd pub
mailto:[EMAIL PROTECTED]                                          $> more beer

Linux werewolf 2.4.0-ac9 #2 SMP Sun Jan 14 01:46:07 CET 2001 i686


Reply via email to