ALS 2000 Abstract
GCC 3.0: The State of the Source
Mark Mitchell and Alexander Samuel, CodeSourcery, LLC
Abstract
The GNU Compiler Collection (GCC) is the most
fundamental component of the GNU/Linux devel
oper's toolchest. GCC, like the Linux kernel and
the X windowing system, is a complex but important part of the GNU/Linux operating system. In
fact, both the kernel and X are built with GCC, so,
to a large extent, the speed and correctness of the
entire system depends on GCC.
The next major release of GCC, GCC 3.0, will be
released sometime late this year. This release of
GCC will contain a number of features of considerable import to the community. In addition, the
quality assurance processes for this release will be
more stringent than in any previous release. There
fore, GCC 3.0 will likely be a more reliable compiler,
and will be more capable of supporting the needs of
an ever-expanding developer community, than previous releases of GCC.
Principal among the improvements will be a new,
stable, industry-standard C++ application binary
interface (ABI). This new C++ ABI will provide,
for the first time, an assurance that C++ programs
compiled with one version of G++ can be linked
with C++ libraries compiled with a different version
of G++, and, in fact, with libraries compiled with
other compilers.
In addition, GCC 3.0 will contain much improved
support for Java, a number of new optimizations
and bug fixes, improvements in compile-time performance, and new infrastructure to support future
optimization and enhancement.
Because much of our work has focused on the C++
front-end, this paper will focus on C++-related
work. That orientation should not be construed as
implying that the other improvements in GCC 3.0
are less important. While a perhaps disproportionate amount of this paper focuses on the C++ ABI,
we have attempted to describe, in somewhat less detail, some of the other highlights of the upcoming
release.
- View the full text of this paper in
PDF form.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.
|