> > positively perceived quality, subjective as it is, I admit, and the > > 3.4 branch is of this bread. > > Well, i am just pointing out that major linux distros are > using gcc 4.x since over 6 month now, constantly rebuilding > all those (tens of) thousands of packages with it, so it > can't be all that unstable as you hinted it.
GCC 4 has a lot of changes, especially for the C++ ABI (yet again on x86) and in compatibility and also code standards. Building thousands and thousands of packages is what a compiler SHOULD do; if it can't then it isn't very good. The point here, I think, is that GCC 4 has so many little quirks that nobody is really used to, that a lot of code is going to have to be changed in a lot of projects, to get it to even compile (let alone work through any real bugs). Example: Debian packages have little patchsets built into them. They are hardly mainline source. Gentoo portage and FreeBSD/NetBSD ports have patchsets downloadable with the main code. All of these packages that get compiled over and over and over again I notice that vast numbers include a "gcc4-fixes" patch, or have done in the past before it was integrated into a mainline source tree. X.org is a very good example of this. I think using gcc 4.0 right now is going to create more work and delay any real PORTING. There is no real advantage to 4.0 on PowerPC except for it's new autovectorisation functionality, but in real terms that is not essential for making a boot loader and a few drivers, and crosscompiling. With the underlying tree ssa changes in optimisers, autovectorisation, there seems to be some nasty problems with code generation (read SIMDTech archives) where it is entirely suboptimal output, I think it is just going to frustrate everyone. I personally agree that we should stick with 3.4.5 for now, since it is a closed branch, stable in more ways than compilability. They are not going to radically change the behaviour of the compiler under our feet as is usually the case with a new release series. Note there are no significant changes for PPC in gcc 4.0 *except* for the tree ssa improvements, so when 3.4.5 has been used to bring the system up to sniff, and if we want all those new features, we can move to it anyway and deal with all the problems it may entail, when there is less important work waiting to be done. -- Matt Sealey <matt at genesi-usa.com> Manager, Genesi, Developer Relations
