Dave Korn announced GCC 3.4.6:
"This release is a minor release, containing fixes for regressions relative to earlier releases, but no new features. It is the final release from the 3.4.x series and the branch is now closed. It is thus also the final release from GCC series 3 overall."
Mark Mitchell announced the availability of GCC 4.1.1 saying, "this release is a bug-fix release for problems in GCC [4.1.0]. GCC 4.1.1 contains changes to correct regressions from previous releases, but no new features." GCC 4.1.0 [story] was released 2 and a half months ago in March of 2006.
Mark Mitchell announced the availability of GCC 4.0.3. He explains, "this release is a bug-fix release for problems in GCC 4.0.2. GCC 4.0.3 contains changes to correct regressions from previous releases, but no new features." GCC 4.0.2 [story] was released nearly 6 months ago in September of 2005. GCC 4.1.0 [story] was released in early March of 2006.
Mark Mitchell announced the availability of GCC 4.1.0 saying, "this release is a major release, containing substantial new functionality relative to previous releases." Among the changes, new features and fixes listed for this new release series are a number of general optimizer improvements, language specific improvements, and some protection from stack-smashing attacks by providing buffer overflow detection and reordering of stack variables.
Four months ago a debate on the lkml suggested that support for GCC 2.95 would be around for a long time [story], but a more recent thread suggests otherwise. 2.6 maintainer Andrew Morton put together a small patch to remove support for 2.95, and discussion continued to explore which versions of GCC 3.x should be supported. Andrew explained:
"2.95.x is basically buggered at present. There's one scsi driver which doesn't compile due to weird __VA_ARGS__ tricks and the rather useful scsi/sd.c is currently getting an ICE. None of the new SAS code compiles, due to extensive use of anonymous unions. The V4L guys are very good at exploiting the gcc-2.95.x macro expansion bug (_why_ does each driver need to implement its own debug macros?) and various people keep on sneaking in anonymous unions.
"It's time to give up on it and just drink more coffee or play more tetris or something, I'm afraid."
Mark Mitchell announced the availability of GCC 4.0.2. He explains, "this release is a minor release, containing primarily fixes for regressions in GCC 4.0.1 relative to previous releases." GCC 4.0.1 was release two and a half months ago on July 7th [story]. A list of bug fixes in 4.0.2 can be found here.
Mark Mitchell announced the availability of GCC 4.0.1, officially released on July 7'th. He explains, "this release is a minor release, containing primarily fixes for regressions in GCC 4.0.0 relative to previous releases." GCC 4.0.0 was released two and a half months ago on April 20th, as seen on the official release timeline. A list of bug fixes in 4.0.1 can be found here.
Richard Stallman founded the GNU Project in 1984, and the Free Software Foundation in 1985. He also originally authored a number of well known and highly used development tools, including the GNU Compiler Collection (GCC), the GNU symbolic debugger (GDB) and GNU Emacs.
To better understand Richard Stallman and the GNU project, I recommend you begin by reviewing their philosophy page. On it you will find a wealth of information.
We began this interview via email, but later had to finish by telephone after Richard Stallman fell and broke his arm. He was kind enough to speak with me at length, discussing his first contact with computers, his time in the AI lab, the current state of the GNU Hurd, his current role in the Free Software Foundation, the problems with non-free software, and much more. The following words offer much insight into how we got here, and what challenges we still face.
The question was recently raised on the lkml why such a wide range of GCC [forum] versions were being actively supported by the Linux kernel. One reason offered was, "because the new compilers are a lot slower", an argument that left some perplexed. "Why is this an issue when compiling a kernel? How often do you compile your kernel?"
Linux creator Linus Torvalds agreed that the speed of the compiler was indeed one of the reasons that older versions are still supported, "for some people that is literally where _most_ of the CPU cycles go". Beyond that, he pointed out that earlier versions of the GCC 3.x compiler would generate worse code than 2.95.x, and that they were simply buggier. Linus explained, "for a _long_ time, the only reason to upgrade gcc was literally C++ support: basic C support was getting _worse_ with new compilers in pretty much every regard." He went on to add, "things seem to have improved a bit lately. The gcc-3.x series was basically not worth it for plain C until 3.3 or so."
Linux creator Linus Torvalds released the official 2.6.9 kernel today, following what he referred to as "naming confusion" in which a test release named "-final" was first uploaded to kernel.org. Linus went on to add, "excuses aside, not a lot of changes since -rc4 [story] (which was the last announced test-kernel), mainly some UML updates that don't affect anybody else. And a number of one-liners or compiler fixes. Full list appended." Official releases and test kernels can be found at a kernel.org mirror.
Regarding the compiler fixes, a handful of problems were reported on the lkml with some versions of GCC [forum]. Linus replied, "Heh. Clearly there's a gcc bug.. What compiler version? I've got gcc-3.2 and gcc-3.3, and neither seems to have any trouble, but hey, I'm cursed by having fairly up-to-date systems. That said, I know what's up, but it would be good to know what compilers have this problem." Linus provided a fix for older versions of gcc which can be found within.
Mark Mitchell announced the availability of GCC 3.4.2, officially released on September 2'nd. Mark explains, "there are no new features in this release, but there are a lot of improvements for various languages and architectures." This second maintenance release follows GCC 3.4.1 [story] by two months, as seen on the official release timeline. A list of bug-fixes can be found here.
Mark Mitchell announced the availability of GCC 3.4.1, officially released on July 1'st. Mark explains, "there are no new features in this release, but there are a lot of improvements for various languages and architectures." This first maintenance release follows GCC 3.4.0 [story] by a little over two months, as seen on the official release timeline. A nearly-complete list of bug-fixes can be found here.
Mark Mitchell officially announced the release of GCC 3.4.0 saying, "this release contains a large number of new features relative to GCC 3.3.3 as well as over 900 fixes for defects in previous releases." Review the changelog, then download GCC 3.4.0 from a mirror. As for the future of the GNU Compiler Collection, Mark went on to note:
"The GCC 3.4.1 will follow in approximately two months. It will contain only fixes for regressions in GCC 3.4.0 release to previous releases of GCC. The next major release of GCC (whose version number is still undecided) will be released in late 2004 or early 2005."
"This release is primarily a bug-fix release and the most recent release in the GCC-3.3.x series. In addition to an impressive list of bugs that have been fixed, it also contains some minor features."
The changelog lists four new minor features, "suport for --with-sysroot, support for automatic detection of executable stacks, support for SSE3 instructions, and support for local thread storage debugging under GDB on S390". Download this new release from a GCC mirror site. Read on for the full announcement.