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

Re: [MiNT] Gcc 3.3.6 v 4.0.1



Miro Kropacek wrote:
Interesting thing is it crashes also with gcc 2.95 (and I mean really *crashes*),

That's why we need an up-to-date gcc: if we find bugs, we will be able to report them to the official gcc team, take benefit of the fixes, etc.

It seems compile newest gcc is getting harder and harder with our old native 2.95 version.

Another good reason to get rid of it. But it should be replaced by a better and less buggy version, not the contrary ;-)

Btw don't you think it would be wiser to use some tested gcc (i.e. that 2.95 or Vincent's cross compiled 4.3) to make such important things like semi-official packages? Keith's and Zorro's gcc can be full of bugs

It is not actually problem, for several reasons:
- Most of the patches for the MiNT target are in the binutils (especially the linker), and the binutils are clean, they are unrelated to gcc. - If something is buggy in Mark's new build, it will only be inside gcc (more precisely, the compiler part, the cc1 executable). If some library is buggy, it will only be embedded inside gcc. - gcc has a "make check" Makefile target, for checking the code it produces is correct. Shame on me, I never tried it (may not work with a cross-compiler). - if the compiler produces valid code, it will be able to recompile itself ! The resulting compiler will be as "perfect" as possible.

Another note: I double checked that the cross and native binutils produces the very same executables (compared byte to byte). If we compile some project with the new compiler Mark is currently building, if we do the same with my Cygwin cross-binaries, and if we get exactly the same prg, we could proudly say that the native and cross compiler are equivalent (but not necessarily good ;-) ). But I guess we will have to wait a bit before doing this test.

We are currently in an infernal spiral: with our current native gcc, we can't compile a better gcc, so we're stuck :-(
An external compiler is necessary to unlock the situation.

So, Mark, go ahead !

--
Vincent Rivière