December 3, 1997:
We are pleased to announce the release of EGCS 1.0.
January 6, 1998: We are pleased to announce the release of EGCS 1.0.1.
March 16, 1998: We are pleased to announce the release of EGCS 1.0.2.
May 15, 1998 We are pleased to announce the release of EGCS 1.0.3.
EGCS is a collaborative effort involving several groups of hackers using an open development model to accelerate development and testing of GNU compilers and runtime libraries.
An important goal of EGCS is to allow wide scale testing of experimental features and optimizations; therefore, EGCS contains some features and optimizations which are still under development. However, EGCS has been carefully tested and should be comparable in quality to most GCC releases.
EGCS 1.0 is based on an August 2, 1997 snapshot of the GCC 2.8 development sources; it contains nearly all of the new features found in GCC 2.8.
EGCS 1.0 also contains many improvements and features not found in GCC 2.7 and even the GCC 2.8 series (which was released after the original EGCS 1.0 release).
See the new features page for a more complete list of new features.
EGCS 1.0.1 is a minor update to the EGCS 1.0 compiler to fix a few critical bugs and add support for Red Hat 5.0 Linux. Changes since the EGCS 1.0 release:
Add support for Red Hat 5.0 Linux and better support for Linux systems using glibc2.
Many programs failed to link when compiled with EGCS 1.0 on Red Hat 5.0 or on systems with newer versions of glibc2. EGCS 1.0.1 should fix these problems.
Compatibility with both EGCS 1.0 and GCC 2.8 libgcc exception handling interfaces.
To avoid future compatibility problems, we strongly urge anyone who is planning on distributing shared libraries that contain C++ code to upgrade to EGCS 1.0.1 first.
Soon after EGCS 1.0 was released, the GCC developers made some incompatible changes in libgcc's exception handling interfaces. These changes were needed to solve problems on some platforms. This means that GCC 2.8.0, when released, will not be seamlessly compatible with shared libraries built by EGCS 1.0. The reason is that the libgcc.a in GCC 2.8.0 will not contain a function needed by the old interface.
The result of this is that there may be compatibility problems with shared libraries built by EGCS 1.0 when used with GCC 2.8.0.
With EGCS 1.0.1, generated code uses the new (GCC 2.8.0) interface, and libgcc.a has the support routines for both the old and the new interfaces (so EGCS 1.0.1 and EGCS 1.0 code can be freely mixed, and EGCS 1.0.1 and GCC 2.8.0 code can be freely mixed).
The maintainers of GCC 2.x have decided against including seamless support for the old interface in 2.8.0, since it was never "official", so to avoid future compatibility problems we recommend against distributing any shared libraries built by EGCS 1.0 that contain C++ code (upgrade to 1.0.1 and use that).
Various bugfixes in the x86, hppa, mips, and rs6000/ppc back ends.
The x86 changes fix code generation errors exposed when building glibc2 and the usual GNU/Linux dynamic linker (ld.so).
The hppa change fixes a compiler abort when configured for use with RTEMS.
The MIPS changes fix problems with the definition of LONG_MAX on newer systems, allow for command line selection of the target ABI, and fix one code generation problem.
The rs6000/ppc change fixes some problems with passing structures to varargs/stdarg functions.
A few machine independent bugfixes, mostly to fix code generation errors when building Linux kernels or glibc.
Fix a few critical exception handling and template bugs in the C++ compiler.
Fix Fortran namelist bug on alphas.
Fix build problems on x86-solaris systems.
EGCS 1.0.2 is a minor update to the EGCS 1.0.1 compiler to fix several serious problems in EGCS 1.0.1.
EGCS 1.0.3 is a minor update to the EGCS 1.0.2 compiler to fix a few problems reported by Red Hat for builds of Red Hat 5.1.
The EGCS 1.0 releases include installation instructions in both HTML and plaintext forms (see the INSTALL directory in the toplevel directory of the distribution). However, we also keep the most up to date installation instructions and build/test status on our web page. We will update those pages as new information becomes available.
And, we can't in good conscience fail to mention some caveats to using EGCS.
Update: Big thanks to Stanford for providing a high speed link for downloading EGCS (go.cygnus.com)!
Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com (USA California -- High speed link provided by Stanford).
The EGCS 1.0 release is also available many mirror sites.
Goto mirror list to find a closer site
We'd like to thank the numerous people that have contributed new features, test results, bugfixes, etc. Unfortunately, they're far too numerous to mention by name.
Copyright (C) Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.