Interview with Mark Mitchel, GCC's Release Engineer
ICC-Rocks writes "In light of the imminent release of the first 'stable' version of GCC version 3, OSNews features an interview with Mark Mitchel, GCC's Release Engineer. They are talking about GCC 3.x, the future and the competition."
Answer: Blah blah blah I don't know blah.
Brilliant, really.
Al Qaeda has ninjas!
8. What did you think about the Intel Compiler v6 that came out recently? Did you have time to have a look at it?
Mark Mitchel: I do not have enough information about that compiler to comment on it.
I know that x86 is just 1 arch for gcc, however it is an important one, being the most common. I would think that those heavily involved with gcc (and especially the x86 backend) would be much more interested in how well the other compilers performed since they are 'the competition' as it were.
It's kind of depressing that he 'doesn't have enough information to comment'.
if intel's compiler had been released last month or thereabouts, I could understand, but IIRC, it was released about 6 months ago.
Zapman
I respect the guy for saying he doesn't know the answer rather then trying to make it up, but I don't see why the original website ran the story, let alone why it should be posted on Slashdot. The percentage of sentences with useful information seems to be in the low teens, and it's not like it's a terribly long article where that can be expected...
I'm not sure that I'd spin the story like that, especailly about the "linux buying out egcs.com".
Gcc seamed like it had been stagnant forever at the 2.7.* branch. If you look at the release history, you'll see that 2.7 was first released in June 95, and 2.7.2.3 was released in August of 97. Two years of point releases, with nothing new.
Well, some folks got tired of it, and forked the code. They made something called pgcc, which had more optimizations for the pentium (I) arch. Some of you may remember that the main distinction between redhat and the origional mandrake release was that Mandrake compiled all of redhat's packages with pgcc (except the kernel)
One thing led to another, and the pgcc fork got folded into the egcs versions. People were dismayed that there were 2 competing versions of gcc lying around but only one of them seemed to be moving: the egcs one. Egcs released version 1.*
Finally, the egcs and the gcc folks got to talking, and the egcs board became the gcc steering committee. If you look at the gcc release history, you'll see the egcs versions listed there too, because egcs became gcc 2.95.*
The gcc release history can be found at: http://gcc.gnu.org/releases.html
Zapman
The message is between the lines. If there were ever an interview with a developer working in "go away and don't bug me" mode, this is it.
An essential difference between engineers and politicians or marketing droids. Refreshing, really.
This guy got a +1 Informative for this:
-Just In Time assembling (JITa)
-pipeline overflow caching
-memory protection beyond the 4 MB barrier
-interlaced object replacement with error redundancy cycles
He just made that all up. Memory protection beyond the "4 MB barrier?!" Lol. This is classic, really.
This was frank, refreshing and to the point. Short and factual is good.
MM is primarily a C++ front-end guy (when not being a release manager), and the interesting aspects of ICC is mostly in the i32 backend, so ICC is unlikely to be that interesting once MM has time.
I believe ICC use a version of the generic Edison C++ front-end (most good C++ compilers do), which MM is most likely already familiar with.
And since the 3.1 release is now nearly a month behind, due to no fault of Mitchell's, I'm not surprised that he's busy.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
Then why won't any distributor use 3.0.x as its compiler ? Why have RH released 7.3 instead of moving to gcc 3.0? The answer is that gcc 3.0 have some fatal bugs which prevent it from compiling KDE correctly. Fancy that-- they actually released something as big as 3.0, without checking that it could compile KDE correctly. Apparently, they've ramped up the C++ requirements for the 3.1 release, which means they're at least starting to take the issue seriously. However, this "ball dropping" exercise has kind of vindicated RH, who unlike the gcc project, need to ship a compiler that will compile the bulk of their distribution.
That's only because a lot of software includes workarounds for broken gcc releases. It doesn't compile anything that uses the sstream header. It compiles a lot of nonstandard code. The 2.95 compiler has several severe problems with its standard library.
Horseshit. Part of the "OSS philosoppy" is that the users have the right to revolt and fork a project when the maintainer drops the ball. gcc shipped a gcc 3.0 release that was (a) late, and (b) too broken to use as the base for a distribution. The fact that the gcc 3.0 series was not fit to be used for a distribution vindicates Redhats decision to fork, IMO. RH need a compiler that can build a number of software packages, and gcc didn't provide that.
gcc 2.96 contained bugs, but so did 2.95. Improving a compiler sometimes results in bugs that weren't there earlier ("regressions"), and we can see examples of this sort of thing in gcc 3.0. There are a number of improvements in gcc 2.96. As someone who writes C++ code, I've observed some important improvements in support for ISO/ANSI C++.
It has been said that if a broken compiler compiles a library the library can be strangely broken and very difficult to debug.
I've got news for you -- all this emotive rhetoric about "broken" gcc 2.96 isn't supported by facts. There are a number of things in gcc 2.95 that are also "broken", and on the balance of it, gcc 2.96 comes out as a somewhat stronger compiler.
On a side note, as far as GCC 3.X not being prime time, for C is surely is, I don't know about the rest, but for C its, as far as I can see, quite useable, stable and reliable with some interesting new optimizations.
Hmmmm... I've had some very wierd bugs pop up with the "interesting new optimisations". Seriously, gcc 3.0 is a tremendous improvement in a number of ways, but there are some fairly show-stopping bugs (including a substantial C++ ABI bug which means that it can't compile KDE correcty) Because of this bug, gcc 3.0 is unsuitable as a compiler for a Linux distribution, and this is why no distributor is going to ship it as the primary compiler.
I think that GNU has been a great force in the world, and to uselessly outpace them or point fingers at them is frustrating and bad for both sides of the camp
It's not "useless" outpacing. gcc 3.0 was late, and the 3.1 release that dealt with the stuff that needed fixing in gcc 3.0 was almost a year later. What Redhat did is released their own derivative version of the gcc 3 CVS that was customised for use as a distribution compiler. gcc 3.0 on the other hand is not useful as a distro compiler.
Programmers ignore in favor of GNU releases. Debian ignores it.
Programmers ignoring Redhat ? Laughable in the extreme. Programmers don't ignore it, but even if they did, it wouldn't matter, because anything that will copmile with gcc 3.0 and gcc 2.95 will compile with gcc 2.96. A number of distributors have included it.
Why have RH released 7.3 instead of moving to gcc 3.0?
Because RH 7.0 used 2.96 because they needed a new compiler (for various reasons) and 3.0 was going to be too far away. Instead of moving to 3.0 for 8.0 a month or two before 3.1 was put out (and having to use it throughout the 8.0 series), they waited for gcc 3.1.
In any case, with my experiance with Debian and GCC, whether they released 7.3 had little to do with when 8.0 came out came out. They had important changes for 7.2, and released them.
Fancy that-- they actually released something as big as 3.0, without checking that it could compile KDE correctly.
It wasn't a good thing that they did that. However, gcc only has so many people working on it. I know, short of a huge last minute mistake, that my important code will work with GCC 3.1. There are Linux kernel developers who use kernels compiled on GCC 3.1. It should be worth it to someone in the KDE world to compile KDE on GCC snapshots and catch stuff that doesn't work.