January 6, 1998
We are pleased to announce the release of EGCS 1.0.1.
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.
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:
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.
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).
The x86 changes fix code generation errors exposed when building glibc2 and the 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.
An important goal of EGCS is to allow wide scale testing of new 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.1 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 also contains many improvements and features not found in GCC 2.7 and even the soon to be released GCC 2.8 compilers.
See the new features page for a more complete list of new features found in EGCS 1.0.x releases.
The EGCS 1.0.1 release includes installation instructions in both HTML and plaintext forms (see the INSTALL directory in the toplevel directory of the EGCS 1.0.1 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 1.0.1 from ftp.cygnus.com (USA California)
Download EGCS 1.0.1 from go.cygnus.com (USA California -- High speed link provided by Stanford)
The EGCS 1.0.1 release is also available on 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.