GCC gets an overhaul
Published: 15 Mar 2005 12:00 GMT
GCC 4.0 also introduces a security feature called Mudflap, which adds extra features to the compiled program that check for a class of vulnerabilities called buffer overruns, Mitchell said. Mudflap slows a program's performance, so it's expected to be used chiefly in test versions, then switched off for finished products.
Also coming will be a preview of technology to compile programs written in Fortran 95, an updated version of a decades-old programming language still popular for scientific and technical tasks, Henderson said. And software written in the C++ programming language should run faster — "shockingly better" in a few cases, Henderson added.
GCC is a very general-purpose compiler. It can handle programs written in languages including C, C++, Java, Fortran, Pascal, Objective-C and Ada. It can generate software for processors including x86 models such as Pentium and Opteron, Sun's Sparc, HP's PA-RISC, IBM's Power and mainframe processors, Intel's Itanium, MIPS, ARM, Hitachi's SuperH and Motorola's 68000 series.
"The promise of GCC has been portability and cross-platform support over speed," O'Grady said.
GCC has about 10 core programmers, Mitchell said. The commercialisation and professionalisation wave that arrived with Linux and other high-profile open source projects has affected GCC.
"In terms of people writing the lion's share of code, most are doing it for a living at this point, in contrast to 10 years ago," Mitchell said. "A lot of the development work is very time-consuming and needs to have a long-term commitment. It's hard to do it during a two-week break during semesters."
CodeSourcery, with about a dozen employees, makes money by selling services around GCC and related low-level programming components such as the GNU C Library (glibc) of pre-written software components. For example, other companies pay CodeSourcery to support new operating systems or processors.
Other options
GCC isn't the only option available to programmers, of course. It's not even the only open source compiler.
A start-up called PathScale offers an open source compiler that's compatible with GCC 3.3. "Our company is trying to be the GCC alternative for people who care about high performance," said Len Rosenthal, vice-president of marketing for PathScale.
PathScale's compiler is a version of the Open64 compiler released by Silicon Graphics as open source software. It's in use at several national laboratories for supercomputing tasks, but Rosenthal said the compiler produces faster software even with general-purpose programs.
Rosenthal understands what PathScale is up against with GCC. "It's everywhere," he said. But PathScale still has a strong ambition: "Our goal is to be the default compiler on x86," he said.
A better-established GCC competitor is Intel, whose compilers are recognised to be the gold standard for software running on x86 chips. James Reinders, director of marketing and business software and the products division, proudly points out that the widely used MySQL open source database uses Intel's compiler.
But in a curious twist, the very same compiler engineers at Intel also help with GCC. That's because GCC is a crucial tool to bring software to Intel's processors. For example, Intel helped adapt GCC so it could produce software for its Itanium processor, Reinders said.
"Obviously it's well-adopted," Reinders said. "GCC has a role in the community that it would be foolish to think it's not important."





