2001-02-17 08:34:50 +00:00
|
|
|
This file contains information about GCC releases which has been
|
|
|
|
generated automatically from the online release notes. This file
|
|
|
|
covers releases of GCC (and the former EGCS project) since EGCS 1.0,
|
|
|
|
on the line of development that led to GCC 3; for information on GCC
|
|
|
|
2.8.1 and older releases of GCC 2, see ONEWS.
|
|
|
|
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/gcc-2.95/gcc-2.95.3.html
|
|
|
|
|
|
|
|
GCC 2.95.3
|
|
|
|
|
|
|
|
January 11, 2001
|
|
|
|
|
|
|
|
The GNU project and the GCC developers are pleased to announce the
|
|
|
|
prerelease of GCC version 2.95.3. GCC used to stand for the GNU C
|
|
|
|
Compiler, but since the compiler supports several other languages
|
|
|
|
aside from C, it now stands for the GNU Compiler Collection.
|
|
|
|
|
|
|
|
This is a minor release to address several bugs in the [1]GCC version
|
|
|
|
2.95.2 release.
|
|
|
|
|
|
|
|
* Generic bugfixes and improvements
|
|
|
|
+ Fix numerous problems that caused incorrect optimization in
|
|
|
|
the register reloading code.
|
|
|
|
+ Fix numerous problems that caused incorrect optimization in
|
|
|
|
the loop optimizer.
|
|
|
|
+ Fix setjmp/longjmp based exception handling.
|
|
|
|
+ Fix aborts in the functions build_insn_chain and scan_loops
|
|
|
|
under some circumstances.
|
|
|
|
+ Fix an alias analysis bug.
|
|
|
|
+ Fix an infinite compilation bug in the combiner.
|
|
|
|
+ A few problems with complex number support have been fixed.
|
|
|
|
+ It is no longer possible for gcc to act as a fork bomb when
|
|
|
|
installed incorrectly.
|
|
|
|
+ The -fpack-struct option should be recognized now.
|
|
|
|
+ Fixed a bug that caused incorrect code to be generated due to
|
|
|
|
a lost stack adjustment.
|
|
|
|
* Platform specific bugfixes and improvements
|
|
|
|
+ Support building ARM toolchains hosted on Windows.
|
|
|
|
+ Fix attribute calculations in ARM toolchains.
|
|
|
|
+ arm-linux support has been improved.
|
|
|
|
+ Fix a PIC failure on sparc targets.
|
|
|
|
+ On ix86 targets, the regparm attribute should now work
|
|
|
|
reliably.
|
|
|
|
+ Several updates for the h8300 port.
|
|
|
|
|
|
|
|
The whole suite has been extensively [2]regression tested and
|
|
|
|
[3]package tested. It should be reliable and suitable for widespread
|
|
|
|
use.
|
|
|
|
|
|
|
|
The GCC 2.95 release has several new optimizations, new targets, new
|
|
|
|
languages and other new features as compared to EGCS 1.1 or GCC 2.8.
|
|
|
|
See the [4]new features page for a more complete list of new features
|
|
|
|
found in the GCC 2.95 releases.
|
|
|
|
|
|
|
|
The sources include installation instructions in both HTML and
|
|
|
|
plaintext forms in the install directory in the distribution. However,
|
|
|
|
the most up to date [5]installation instructions and [6]build/test
|
|
|
|
status are on the web pages. We will update those pages as new
|
|
|
|
information becomes available.
|
|
|
|
|
|
|
|
The GCC developers would like to thank the numerous people that have
|
|
|
|
contributed new features, test results, bugfixes, etc to GCC. This
|
|
|
|
[7]amazing group of volunteers is what makes GCC successful.
|
|
|
|
|
|
|
|
And finally, we can't in good conscience fail to mention some
|
|
|
|
[8]caveats to using GCC 2.95.3.
|
|
|
|
|
|
|
|
Download GCC 2.95.3 from the [9]GNU FTP server (ftp://ftp.gnu.org)
|
|
|
|
Download GCC 2.95.3 from the [10]GCC FTP server (ftp://gcc.gnu.org)
|
|
|
|
[11]Find a GNU mirror site
|
|
|
|
[12]Find a GCC mirror site
|
|
|
|
|
|
|
|
For additional information about GCC please see the [13]GCC project
|
|
|
|
web server or contact the [14]GCC development mailing list.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
[15]The GCC team
|
|
|
|
Last modified 2001-01-11
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html
|
|
|
|
2. http://gcc.gnu.org/gcc-2.95/regress.html
|
|
|
|
3. http://gcc.gnu.org/gcc-2.95/othertest.html
|
|
|
|
4. http://gcc.gnu.org/gcc-2.95/features.html
|
|
|
|
5. http://gcc.gnu.org/install/index.html
|
|
|
|
6. http://gcc.gnu.org/gcc-2.95/buildstat.html
|
|
|
|
7. http://gcc.gnu.org/thanks.html
|
|
|
|
8. http://gcc.gnu.org/gcc-2.95/caveats.html
|
|
|
|
9. ftp://ftp.gnu.org/pub/gnu/gcc/
|
|
|
|
10. ftp://gcc.gnu.org/pub/gcc/releases/index.html
|
|
|
|
11. http://www.gnu.org/order/ftp.html
|
|
|
|
12. http://gcc.gnu.org/mirrors.html
|
|
|
|
13. http://gcc.gnu.org/index.html
|
|
|
|
14. mailto:gcc@gcc.gnu.org
|
|
|
|
15. http://gcc.gnu.org/about.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html
|
|
|
|
|
|
|
|
GCC 2.95.2
|
|
|
|
|
|
|
|
October 27, 1999
|
|
|
|
|
|
|
|
The GNU project and the GCC developers are pleased to announce the
|
|
|
|
release of GCC version 2.95.2. GCC used to stand for the GNU C
|
|
|
|
Compiler, but since the compiler supports several other languages
|
|
|
|
aside from C, it now stands for the GNU Compiler Collection.
|
|
|
|
|
|
|
|
This is a minor release to address several bugs in the GCC version
|
|
|
|
2.95.1 release.
|
|
|
|
|
|
|
|
The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While
|
|
|
|
the optimizations performed by -fstrict-aliasing are valid according
|
|
|
|
to the C and C++ standards, the optimization have caused some
|
|
|
|
problems, particularly with old non-conforming code.
|
|
|
|
|
|
|
|
The GCC developers are experimenting with ways to warn users about
|
|
|
|
code which violates the C/C++ standards, but those warnings are not
|
|
|
|
ready for widespread use at this time. Rather than wait for those
|
|
|
|
warnings the GCC developers have chosen to disable -fstrict-aliasing
|
|
|
|
by default for the GCC 2.95.2 release.
|
|
|
|
|
|
|
|
We strongly encourage developers to find and fix code which violates
|
|
|
|
the C/C++ standards as -fstrict-aliasing may be enabled by default in
|
|
|
|
future releases. Use the option -fstrict-aliasing to re-enable these
|
|
|
|
optimizations.
|
|
|
|
|
|
|
|
* Generic bugfixes and improvements
|
|
|
|
+ Fix incorrectly optimized memory reference in global common
|
|
|
|
subexpression elimination (GCSE) optimization pass.
|
|
|
|
+ Fix code generation bug in regmove.c in which it could
|
|
|
|
incorrectly change a "const" value.
|
|
|
|
+ Fix bug in optimization of conditionals involving volatile
|
|
|
|
memory references.
|
|
|
|
+ Avoid over-allocation of stack space for some procedures.
|
|
|
|
+ Fixed bug in the compiler which caused incorrect optimization
|
|
|
|
of an obscure series of bit manipulations, shifts and
|
|
|
|
arithmetic.
|
|
|
|
+ Fixed register allocator bug which caused teTeX to be
|
|
|
|
mis-compiled on Sparc targets.
|
|
|
|
+ Avoid incorrect optimization of degenerate case statements
|
|
|
|
for certain targets such as the ARM.
|
|
|
|
+ Fix out of range memory reference in the jump optimizer.
|
|
|
|
+ Avoid dereferencing null pointer in fix-header.
|
|
|
|
+ Fix test for GCC specific features so that it is possible to
|
|
|
|
bootstrap with gcc-2.6.2 and older versions of GCC.
|
|
|
|
+ Fix typo in scheduler which could potentially cause out of
|
|
|
|
range memory accesses.
|
|
|
|
+ Avoid incorrect loop reversal which caused incorrect code for
|
|
|
|
certain loops on PowerPC targets.
|
|
|
|
+ Avoid incorrect optimization of switch statements on certain
|
|
|
|
targets (for example the ARM).
|
|
|
|
* Platform specific bugfixes and improvements
|
|
|
|
+ Work around bug in Sun V5.0 compilers which caused bootstrap
|
|
|
|
comparison failures on Sparc targets.
|
|
|
|
+ Fix Sparc backend bug which caused aborts in final.c.
|
|
|
|
+ Fix sparc-hal-solaris2* configuration fragments.
|
|
|
|
+ Fix bug in sparc block profiling.
|
|
|
|
+ Fix obscure code generation bug for the PARISC targets.
|
|
|
|
+ Define __STDC_EXT__ for HPUX configurations.
|
|
|
|
+ Various POWERPC64 code generation bugfixes.
|
|
|
|
+ Fix abort for PPC targets using ELF (ex GNU/Linux).
|
|
|
|
+ Fix collect2 problems for AIX targets.
|
|
|
|
+ Correct handling of .file directive for PPC targets.
|
|
|
|
+ Fix bug in fix_trunc x86 patterns.
|
|
|
|
+ Fix x86 port to correctly pop the FP stack for functions that
|
|
|
|
return structures in memory.
|
|
|
|
+ Fix minor bug in strlen x86 pattern.
|
|
|
|
+ Use stabs debugging instead of dwarf1 for x86-solaris
|
|
|
|
targets.
|
|
|
|
+ Fix template repository code to handle leading underscore in
|
|
|
|
mangled names.
|
|
|
|
+ Fix weak/weak alias support for OpenBSD.
|
|
|
|
+ GNU/Linux for the ARM has C++ compatible include files.
|
|
|
|
* Language & Runtime specific fixes.
|
|
|
|
+ Fix handling of constructor attribute in the C front-end
|
|
|
|
which caused problems building the Chill runtime library on
|
|
|
|
some targets.
|
|
|
|
+ Fix minor problem merging type qualifiers in the C front-end.
|
|
|
|
+ Fix aliasing bug for pointers and references (C/C++).
|
|
|
|
+ Fix incorrect "non-constant initializer bug" when
|
|
|
|
-traditional or -fwritable-strings is enabled.
|
|
|
|
+ Fix build error for Chill front-end on SunOS.
|
|
|
|
+ Do not complain about duplicate instantiations when using
|
|
|
|
-frepo (C++)
|
|
|
|
+ Fix array bounds handling in C++ front-end which caused
|
|
|
|
problems with dwarf debugging information in some
|
|
|
|
circumstances.
|
|
|
|
+ Fix minor namespace problem.
|
|
|
|
+ Fix problem linking java programs.
|
|
|
|
|
|
|
|
The whole suite has been extensively [1]regression tested and
|
|
|
|
[2]package tested. It should be reliable and suitable for widespread
|
|
|
|
use.
|
|
|
|
|
|
|
|
The GCC 2.95 release has several new optimizations, new targets, new
|
|
|
|
languages and other new features as compared to EGCS 1.1 or GCC 2.8.
|
|
|
|
See the [3]new features page for a more complete list of new features
|
|
|
|
found in the GCC 2.95 releases.
|
|
|
|
|
|
|
|
The sources include installation instructions in both HTML and
|
|
|
|
plaintext forms in the install directory in the distribution. However,
|
|
|
|
the most up to date [4]installation instructions and [5]build/test
|
|
|
|
status are on the web pages. We will update those pages as new
|
|
|
|
information becomes available.
|
|
|
|
|
|
|
|
The GCC developers would like to thank the numerous people that have
|
|
|
|
contributed new features, test results, bugfixes, etc to GCC. This
|
|
|
|
[6]amazing group of volunteers is what makes GCC successful.
|
|
|
|
|
|
|
|
And finally, we can't in good conscience fail to mention some
|
|
|
|
[7]caveats to using GCC 2.95.2.
|
|
|
|
|
|
|
|
Download GCC 2.95.2 from the [8]GNU FTP server (ftp://ftp.gnu.org)
|
|
|
|
Download GCC 2.95.2 from the [9]GCC/EGCS FTP server
|
|
|
|
(ftp://gcc.gnu.org)
|
|
|
|
[10]Find a GNU mirror site
|
|
|
|
[11]Find a GCC/EGCS mirror site
|
|
|
|
|
|
|
|
For additional information about GCC please see the [12]GCC project
|
|
|
|
web server or contact the [13]GCC development mailing list.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
[14]The GCC team
|
|
|
|
Last modified 2000-11-10
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/gcc-2.95/regress.html
|
|
|
|
2. http://gcc.gnu.org/gcc-2.95/othertest.html
|
|
|
|
3. http://gcc.gnu.org/gcc-2.95/features.html
|
|
|
|
4. http://gcc.gnu.org/install/index.html
|
|
|
|
5. http://gcc.gnu.org/gcc-2.95/buildstat.html
|
|
|
|
6. http://gcc.gnu.org/thanks.html
|
|
|
|
7. http://gcc.gnu.org/gcc-2.95/caveats.html
|
|
|
|
8. ftp://ftp.gnu.org/pub/gnu/gcc/
|
|
|
|
9. ftp://gcc.gnu.org/pub/gcc/releases/index.html
|
|
|
|
10. http://www.gnu.org/order/ftp.html
|
|
|
|
11. http://gcc.gnu.org/mirrors.html
|
|
|
|
12. http://gcc.gnu.org/index.html
|
|
|
|
13. mailto:gcc@gcc.gnu.org
|
|
|
|
14. http://gcc.gnu.org/about.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/gcc-2.95/gcc-2.95.1.html
|
|
|
|
|
|
|
|
GCC 2.95.1
|
|
|
|
|
|
|
|
August 19, 1999
|
|
|
|
|
|
|
|
The GNU project and the GCC/EGCS developers are pleased to announce
|
|
|
|
the release of GCC version 2.95.1. GCC used to stand for the GNU C
|
|
|
|
Compiler, but since the compiler supports several other languages
|
|
|
|
aside from C, it now stands for the GNU Compiler Collection.
|
|
|
|
|
|
|
|
This is a minor release to address several bugs in the GCC version
|
|
|
|
2.95 release.
|
|
|
|
|
|
|
|
* Generic bugfixes and improvements
|
|
|
|
+ Various documentation fixes related to the GCC/EGCS merger.
|
|
|
|
+ Fix memory management bug which could lead to spurious
|
|
|
|
aborts, core dumps or random parsing errors in the compiler.
|
|
|
|
+ Fix a couple bugs in the dwarf1 and dwarf2 debug record
|
|
|
|
support.
|
|
|
|
+ Fix infinite loop in the CSE optimizer.
|
|
|
|
+ Avoid undefined behavior in compiler FP emulation code
|
|
|
|
+ Fix install problem when prefix is overridden on the make
|
|
|
|
install command.
|
|
|
|
+ Fix problem with unwanted installation of assert.h on some
|
|
|
|
systems.
|
|
|
|
+ Fix problem with finding the wrong assembler in a single tree
|
|
|
|
build.
|
|
|
|
+ Avoid increasing the known alignment of a register that is
|
|
|
|
already known to be a pointer.
|
|
|
|
* Platform specific bugfixes and improvements
|
|
|
|
+ Codegen bugfix for prologue/epilogue for cpu32 target.
|
|
|
|
+ Fix long long code generation bug for the Coldfire target.
|
|
|
|
+ Fix various aborts in the SH compiler.
|
|
|
|
+ Fix bugs in libgcc support library for the SH.
|
|
|
|
+ Fix alpha ev6 code generation bug.
|
|
|
|
+ Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on
|
|
|
|
AIX platforms.
|
|
|
|
+ Fix -fpic code generation bug for rs6000/ppc svr4 targets.
|
|
|
|
+ Fix varargs/stdarg code generation bug for rs6000/ppc svr4
|
|
|
|
targets.
|
|
|
|
+ Fix weak symbol handling for rs6000/ppc svr4 targets.
|
|
|
|
+ Fix various problems with 64bit code generation for the
|
|
|
|
rs6000/ppc port.
|
|
|
|
+ Fix codegen bug which caused tetex to be mis-compiled on the
|
|
|
|
x86
|
|
|
|
+ Fix compiler abort in new cfg code exposed by x86 port.
|
|
|
|
+ Fix out of range array reference in code convert flat
|
|
|
|
registers to the x87 stacked FP register file.
|
|
|
|
+ Fix minor vxworks configuration bug
|
|
|
|
+ Fix return type of bsearch for SunOS 4.x.
|
|
|
|
* Language & Runtime specific fixes.
|
|
|
|
+ The G++ signature extension has been deprecated. It will be
|
|
|
|
removed in the next major release of G++. Use of signatures
|
|
|
|
will result in a warning from the compiler.
|
|
|
|
+ Several bugs relating to templates and namespaces were fixed.
|
|
|
|
+ A bug that caused crashes when combining templates with -g on
|
|
|
|
DWARF1 platforms was fixed.
|
|
|
|
+ Pointers-to-members, virtual functions, and multiple
|
|
|
|
inheritance should now work together correctly.
|
|
|
|
+ Some code-generation bugs relating to function try blocks
|
|
|
|
were fixed.
|
|
|
|
+ G++ is a little bit more lenient with certain archaic
|
|
|
|
constructs than in GCC 2.95.
|
|
|
|
+ Fix to prevent shared library version #s from bring truncated
|
|
|
|
to 1 digit
|
|
|
|
+ Fix missing std:: in the libstdc++ library.
|
|
|
|
+ Fix stream locking problems in libio.
|
|
|
|
+ Fix problem in java compiler driver.
|
|
|
|
|
|
|
|
The whole suite has been extensively [1]regression tested and
|
|
|
|
[2]package tested. It should be reliable and suitable for widespread
|
|
|
|
use.
|
|
|
|
|
|
|
|
The compiler has several new optimizations, new targets, new languages
|
|
|
|
and other new features. See the [3]new features page for a more
|
|
|
|
complete list of new features found in the GCC 2.95 releases.
|
|
|
|
|
|
|
|
The sources include installation instructions in both HTML and
|
|
|
|
plaintext forms in the install directory in the distribution. However,
|
|
|
|
the most up to date [4]installation instructions and [5]build/test
|
|
|
|
status are on the web pages. We will update those pages as new
|
|
|
|
information becomes available.
|
|
|
|
|
|
|
|
The GCC developers would like to thank the numerous people that have
|
|
|
|
contributed new features, test results, bugfixes, etc to GCC. This
|
|
|
|
[6]amazing group of volunteers is what makes GCC successful.
|
|
|
|
|
|
|
|
And finally, we can't in good conscience fail to mention some
|
|
|
|
[7]caveats to using GCC 2.95.1.
|
|
|
|
|
|
|
|
Download GCC 2.95.1 from the [8]GNU FTP server (ftp://ftp.gnu.org)
|
|
|
|
Download GCC 2.95.1 from the [9]GCC/EGCS FTP server
|
|
|
|
(ftp://go.cygnus.com)
|
|
|
|
[10]Find a GNU mirror site
|
|
|
|
[11]Find a GCC/EGCS mirror site
|
|
|
|
|
|
|
|
For additional information about GCC please see the [12]GCC project
|
|
|
|
web server or contact the [13]GCC development mailing list.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
[14]The GCC team
|
|
|
|
Last modified 2000-11-10
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/gcc-2.95/regress.html
|
|
|
|
2. http://gcc.gnu.org/gcc-2.95/othertest.html
|
|
|
|
3. http://gcc.gnu.org/gcc-2.95/features.html
|
|
|
|
4. http://gcc.gnu.org/install/index.html
|
|
|
|
5. http://gcc.gnu.org/gcc-2.95/buildstat.html
|
|
|
|
6. http://gcc.gnu.org/thanks.html
|
|
|
|
7. http://gcc.gnu.org/gcc-2.95/caveats.html
|
|
|
|
8. ftp://ftp.gnu.org/pub/gnu/gcc/
|
|
|
|
9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
10. http://www.gnu.org/order/ftp.html
|
|
|
|
11. http://gcc.gnu.org/mirrors.html
|
|
|
|
12. http://gcc.gnu.org/index.html
|
|
|
|
13. mailto:gcc@gcc.gnu.org
|
|
|
|
14. http://gcc.gnu.org/about.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/gcc-2.95/gcc-2.95.html
|
|
|
|
|
|
|
|
GCC 2.95
|
|
|
|
|
|
|
|
July 31, 1999
|
|
|
|
|
|
|
|
The GNU project and the GCC/EGCS developers are pleased to announce
|
|
|
|
the release of GCC version 2.95. GCC used to stand for the GNU C
|
|
|
|
Compiler, but since the compiler supports several other languages
|
|
|
|
aside from C, it now stands for the GNU Compiler Collection.
|
|
|
|
|
|
|
|
This is the first release of GCC since the April 1999 GCC/EGCS
|
|
|
|
reunification and includes nearly a year's worth of new development
|
|
|
|
and bugfixes.
|
|
|
|
|
|
|
|
The whole suite has been extensively [1]regression tested and
|
|
|
|
[2]package tested. It should be reliable and suitable for widespread
|
|
|
|
use.
|
|
|
|
|
|
|
|
The compiler has several new optimizations, new targets, new languages
|
|
|
|
and other new features. See the [3]new features page for a more
|
|
|
|
complete list of new features found in the GCC 2.95 releases.
|
|
|
|
|
|
|
|
The sources include installation instructions in both HTML and
|
|
|
|
plaintext forms in the install directory in the distribution. However,
|
|
|
|
the most up to date [4]installation instructions and [5]build/test
|
|
|
|
status are on the web pages. We will update those pages as new
|
|
|
|
information becomes available.
|
|
|
|
|
|
|
|
The GCC developers would like to thank the numerous people that have
|
|
|
|
contributed new features, test results, bugfixes, etc to GCC. This
|
|
|
|
[6]amazing group of volunteers is what makes GCC successful.
|
|
|
|
|
|
|
|
And finally, we can't in good conscience fail to mention some
|
|
|
|
[7]caveats to using GCC 2.95.
|
|
|
|
|
|
|
|
Download GCC 2.95 from the [8]GNU FTP server (ftp://ftp.gnu.org)
|
|
|
|
Download GCC 2.95 from the [9]GCC/EGCS FTP server
|
|
|
|
(ftp://go.cygnus.com)
|
|
|
|
[10]Find a GNU mirror site
|
|
|
|
[11]Find a GCC/EGCS mirror site
|
|
|
|
|
|
|
|
For additional information about GCC please see the [12]GCC project
|
|
|
|
web server or contact the [13]GCC development mailing list.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
[14]The GCC team
|
|
|
|
Last modified 2000-11-10
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/gcc-2.95/regress.html
|
|
|
|
2. http://gcc.gnu.org/gcc-2.95/othertest.html
|
|
|
|
3. http://gcc.gnu.org/gcc-2.95/features.html
|
|
|
|
4. http://gcc.gnu.org/install/index.html
|
|
|
|
5. http://gcc.gnu.org/gcc-2.95/buildstat.html
|
|
|
|
6. http://gcc.gnu.org/thanks.html
|
|
|
|
7. http://gcc.gnu.org/gcc-2.95/caveats.html
|
|
|
|
8. ftp://ftp.gnu.org/pub/gnu/gcc/
|
|
|
|
9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
10. http://www.gnu.org/order/ftp.html
|
|
|
|
11. http://gcc.gnu.org/mirrors.html
|
|
|
|
12. http://gcc.gnu.org/index.html
|
|
|
|
13. mailto:gcc@gcc.gnu.org
|
|
|
|
14. http://gcc.gnu.org/about.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/gcc-2.95/features.html
|
|
|
|
|
|
|
|
GCC 2.95 New Features
|
|
|
|
|
|
|
|
* General Optimizer Improvements:
|
|
|
|
+ [1]Localized register spilling to improve speed and code
|
|
|
|
density especially on small register class machines.
|
|
|
|
+ [2]Global CSE using lazy code motion algorithms.
|
|
|
|
+ [3]Improved global constant/copy propagation.
|
|
|
|
+ [4]Improved control flow graph analysis and manipulation.
|
|
|
|
+ [5]Local dead store elimination.
|
|
|
|
+ [6]Memory Load hoisting/store sinking in loops.
|
|
|
|
+ [7]Type based alias analysis is enabled by default. Note this
|
|
|
|
feature will expose bugs in the Linux kernel. Please refer to
|
|
|
|
the [8]FAQ for additional information on this issue.
|
|
|
|
+ Major revamp of GIV detection, combination and simplification
|
|
|
|
to improve loop performance.
|
|
|
|
+ Major improvements to register allocation and reloading.
|
|
|
|
* New Languages and Language specific improvements
|
|
|
|
+ [9]Many C++ improvements.
|
|
|
|
+ [10]Many Fortran improvements.
|
|
|
|
+ [11]Java front-end has been integrated. A [12]runtime library
|
|
|
|
is available separately.
|
|
|
|
+ [13]ISO C99 support
|
|
|
|
+ [14]Chill front-end and runtime has been integrated.
|
|
|
|
+ Boehm garbage collector support in libobjc.
|
|
|
|
+ More support for various pragmas which appear in vendor
|
|
|
|
include files
|
|
|
|
* New Targets and Target Specific Improvements
|
|
|
|
+ [15]Sparc backend rewrite.
|
|
|
|
+ -mschedule=8000 will optimize code for PA8000 class
|
|
|
|
processors; -mpa-risc-2-0 will generate code for PA2.0
|
|
|
|
processors
|
|
|
|
+ Various micro-optimizations for the ia32 port. K6
|
|
|
|
optimizations
|
|
|
|
+ Compiler will attempt to align doubles in the stack on the
|
|
|
|
ia32 port
|
|
|
|
+ Alpha EV6 support
|
|
|
|
+ PowerPC 750
|
|
|
|
+ RS6000/PowerPC: -mcpu=401 was added as an alias for
|
|
|
|
-mcpu=403. -mcpu=e603e was added to do -mcpu=603e and
|
|
|
|
-msoft-float.
|
|
|
|
+ c3x, c4x
|
|
|
|
+ HyperSparc
|
|
|
|
+ SparcLite86x
|
|
|
|
+ sh4
|
|
|
|
+ Support for new systems (OpenBSD, FreeBSD, UWIN, Interix,
|
|
|
|
arm-linux)
|
|
|
|
+ vxWorks targets include support for vxWorks threads
|
|
|
|
+ StrongARM 110 and ARM9 support added. ARM Scheduling
|
|
|
|
parameters rewritten.
|
|
|
|
+ Various changes to the MIPS port to avoid assembler macros,
|
|
|
|
which
|
|
|
|
+ Various performance improvements to the i960 port.
|
|
|
|
+ Major rewrite of ns32k port in turn improves performance
|
|
|
|
* Other significant improvements
|
|
|
|
+ [16]Ability to dump cfg information and display it using vcg.
|
|
|
|
+ The new faster scheme for fixing vendor header files is
|
|
|
|
enabled by default.
|
|
|
|
+ Experimental internationalization support.
|
|
|
|
+ multibyte character support
|
|
|
|
+ Some compile-time speedups for pathological problems
|
|
|
|
+ Better support for complex types
|
|
|
|
* Plus the usual mountain of bugfixes
|
|
|
|
* Core compiler is based on the gcc2 development tree from Sept 30,
|
|
|
|
1998, so we have all of the [17]features found in GCC 2.8.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
[18]The GCC team
|
|
|
|
Last modified 2000-12-04
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/news/spill.html
|
|
|
|
2. http://gcc.gnu.org/news/lcm.html
|
|
|
|
3. http://gcc.gnu.org/news/cprop.html
|
|
|
|
4. http://gcc.gnu.org/news/cfg.html
|
|
|
|
5. http://gcc.gnu.org/news/dse.html
|
|
|
|
6. http://gcc.gnu.org/news/hoist.html
|
|
|
|
7. http://gcc.gnu.org/news/alias.html
|
|
|
|
8. http://gcc.gnu.org/fom_serv/cache/24.html
|
|
|
|
9. http://gcc.gnu.org/gcc-2.95/c++features.html
|
|
|
|
10. http://gcc.gnu.org/onlinedocs/g77_news.html
|
|
|
|
11. http://sources.redhat.com/java/gcj-announce.txt
|
|
|
|
12. http://gcc.gnu.org/javaannounce.html
|
|
|
|
13. http://gcc.gnu.org/c99status.html
|
|
|
|
14. http://gcc.gnu.org/news/chill.html
|
|
|
|
15. http://gcc.gnu.org/news/sparc.html
|
|
|
|
16. http://gcc.gnu.org/news/egcs-vcg.html
|
|
|
|
17. http://gcc.gnu.org/egcs-1.0/features-2.8.html
|
|
|
|
18. http://gcc.gnu.org/about.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/gcc-2.95/caveats.html
|
|
|
|
|
|
|
|
GCC 2.95 Caveats
|
|
|
|
|
|
|
|
* GCC 2.95 will issue an error for invalid asm statements that had
|
|
|
|
been silently accepted by earlier versions of the compiler. This
|
|
|
|
is particularly noticeable when compiling older versions of the
|
|
|
|
Linux kernel (2.0.xx). Please refer to the [1]FAQ for more
|
|
|
|
information on this issue.
|
|
|
|
* GCC 2.95 implements type based alias analysis to disambiguate
|
|
|
|
memory references. Some programs, particularly the Linux kernel
|
|
|
|
violate ANSI/ISO aliasing rules and therefore may not operate
|
|
|
|
correctly when compiled with GCC 2.95. Please refer to the [2]FAQ
|
|
|
|
for more information on this issue.
|
|
|
|
* GCC 2.95 has a known bug in its handling of complex variables for
|
|
|
|
64bit targets. Instead of silently generating incorrect code, GCC
|
|
|
|
2.95 will issue a fatal error for situations it can not handle.
|
|
|
|
This primarily affects the Fortran community as Fortran makes more
|
|
|
|
use of complex variables than C or C++.
|
|
|
|
* GCC 2.95 has an integrated libstdc++, but does not have an
|
|
|
|
integrated libg++. Furthermore old libg++ releases will not work
|
|
|
|
with GCC 2.95. You can retrieve a recent copy of libg++ from the
|
|
|
|
[3]GCC ftp server.
|
|
|
|
Note most C++ programs only need libstdc++.
|
|
|
|
* Exception handling may not work with shared libraries,
|
|
|
|
particularly on alphas, hppas, rs6000/powerpc and mips based
|
|
|
|
platforms. Exception handling is known to work on x86 GNU/Linux
|
|
|
|
platforms with shared libraries.
|
|
|
|
* In general, GCC 2.95 is more rigorous about rejecting invalid C++
|
|
|
|
code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0,
|
|
|
|
or EGCS 1.1. As a result it may be necessary to fix C++ code
|
|
|
|
before it will compile with GCC 2.95.
|
|
|
|
* G++ is also converting toward the ISO C++ standard; as a result
|
|
|
|
code which was previously valid (and thus accepted by other
|
|
|
|
compilers and older versions of g++) may no longer be accepted.
|
|
|
|
The flag -fpermissive may allow some non-conforming code to
|
|
|
|
compile with GCC 2.95.
|
|
|
|
* GCC 2.95 compiled C++ code is not binary compatible with EGCS
|
|
|
|
1.1.x, EGCS 1.0.x or GCC 2.8.x.
|
|
|
|
* GCC 2.95 does not have changes from the GCC 2.8 tree that were
|
|
|
|
made between Sept 30, 1998 and April 30, 1999 (the official end of
|
|
|
|
the GCC 2.8 project). Future GCC releases will include all the
|
|
|
|
changes from the defunct GCC 2.8 sources.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
[4]The GCC team
|
|
|
|
Last modified 2000-11-10
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/faq.html#asmclobber
|
|
|
|
2. http://gcc.gnu.org/fom_serv/cache/24.html
|
|
|
|
3. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
|
|
|
|
4. http://gcc.gnu.org/about.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.1/egcs-1.1.2.html
|
|
|
|
|
|
|
|
EGCS 1.1.2
|
|
|
|
|
|
|
|
March 15, 1999
|
|
|
|
|
|
|
|
We are pleased to announce the release of EGCS 1.1.2.
|
|
|
|
|
|
|
|
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.1.2 is a minor update to the EGCS 1.1.1 compiler to fix several
|
|
|
|
serious problems in EGCS 1.1.1.
|
|
|
|
* General improvements and fixes
|
|
|
|
+ Fix bug in loop optimizer which caused the SPARC (and
|
|
|
|
potentially other) ports to segfault.
|
|
|
|
+ Fix infinite recursion in alias analysis and combiner code.
|
|
|
|
+ Fix bug in regclass preferencing.
|
|
|
|
+ Fix incorrect loop reversal which caused incorrect code to be
|
|
|
|
generated for several targets.
|
|
|
|
+ Fix return value for builtin memcpy.
|
|
|
|
+ Reduce compile time for certain loops which exposed quadratic
|
|
|
|
behavior in the loop optimizer.
|
|
|
|
+ Fix bug which caused volatile memory to be written multiple
|
|
|
|
times when only one write was needed/desired.
|
|
|
|
+ Fix compiler abort in caller-save.c
|
|
|
|
+ Fix combiner bug which caused incorrect code generation for
|
|
|
|
certain division by constant operations.
|
|
|
|
+ Fix incorrect code generation due to a bug in range check
|
|
|
|
optimizations.
|
|
|
|
+ Fix incorrect code generation due to mis-handling of
|
|
|
|
clobbered values in CSE.
|
|
|
|
+ Fix compiler abort/segfault due to incorrect register
|
|
|
|
splitting when unrolling loops.
|
|
|
|
+ Fix code generation involving autoincremented addresses with
|
|
|
|
ternary operators.
|
|
|
|
+ Work around bug in the scheduler which caused qt to be
|
|
|
|
mis-compiled on some platforms.
|
|
|
|
+ Fix code generation problems with -fshort-enums.
|
|
|
|
+ Tighten security for temporary files.
|
|
|
|
+ Improve compile time for codes which make heavy use of
|
|
|
|
overloaded functions.
|
|
|
|
+ Fix multiply defined constructor/destructor symbol problems.
|
|
|
|
+ Avoid setting bogus RPATH environemnt variable during
|
|
|
|
bootstrap.
|
|
|
|
+ Avoid GNU-make dependencies in the texinfo subdir.
|
|
|
|
+ Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
|
|
|
|
--enable-cpp= can be used to specify an additional install
|
|
|
|
directory for the cpp wrapper script.
|
|
|
|
+ Fix CSE bug which caused incorrect label-label refs to appear
|
|
|
|
on some platforms.
|
|
|
|
+ Avoid linking in EH routines from libgcc if they are not
|
|
|
|
needed.
|
|
|
|
+ Avoid obscure bug in aliasing code.
|
|
|
|
+ Fix bug in weak symbol handling.
|
|
|
|
* Platform-specific improvements and fixes
|
|
|
|
+ Fix detection of PPro/PII on Unixware 7.
|
|
|
|
+ Fix compiler segfault when building spec99 and other programs
|
|
|
|
for SPARC targets.
|
|
|
|
+ Fix code-generation bugs for integer and floating point
|
|
|
|
conditional move instructions on the PPro/PII.
|
|
|
|
+ Use fixincludes to fix byteorder problems on i?86-*-sysv.
|
|
|
|
+ Fix build failure for the arc port.
|
|
|
|
+ Fix floating point format configuration for i?86-gnu port
|
|
|
|
+ Fix problems with hppa1.0-hp-hpux10.20 configuration when
|
|
|
|
threads are enabled
|
|
|
|
+ Fix coldfire code generation bugs.
|
|
|
|
+ Fix "unrecognized insn" problems for Alpha and PPC ports.
|
|
|
|
+ Fix h8/300 code generation problem with floating point values
|
|
|
|
in memory.
|
|
|
|
+ Fix unrecognized insn problems for the m68k port.
|
|
|
|
+ Fix namespace-pollution problem for the x86 port.
|
|
|
|
+ Fix problems with old assembler on x86 NeXT systems.
|
|
|
|
+ Fix PIC code-generation problems for the SPARC port.
|
|
|
|
+ Fix minor bug with LONG_CALLS in PowerPC SVR4 support.
|
|
|
|
+ Fix minor ISO namespace violation in Alpha varargs/stdarg
|
|
|
|
support.
|
|
|
|
+ Fix incorrect "braf" instruction usage for the SH port.
|
|
|
|
+ Fix minor bug in va-sh which prevented its use with -ansi.
|
|
|
|
+ Fix problems recognizing and supporting FreeBSD.
|
|
|
|
+ Handle OpenBSD systems correctly.
|
|
|
|
+ Minor fixincludes fix for Digital UNIX 4.0B.
|
|
|
|
+ Fix problems with ctors/dtors in SCO shared libraries.
|
|
|
|
+ Abort instead of generating incorrect code for PPro/PII
|
|
|
|
floating point conditional moves.
|
|
|
|
+ Avoid multiply defined symbols on Linux/GNU systems using
|
|
|
|
libc-5.4.xx.
|
|
|
|
+ Fix abort in alpha compiler.
|
|
|
|
|
|
|
|
Fortran-specific fixes
|
|
|
|
* Fix the IDate intrinsic (VXT) (in libg2c) so the returned year is
|
|
|
|
in the documented, non-Y2K-compliant range of 0-99, instead of
|
|
|
|
being returned as 100 in the year 2000.
|
|
|
|
* Fix the `Date_and_Time' intrinsic (in libg2c) to return the
|
|
|
|
milliseconds value properly in Values(8).
|
|
|
|
* Fix the `LStat' intrinsic (in libg2c) to return device-ID
|
|
|
|
information properly in SArray(7).
|
|
|
|
|
|
|
|
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.1.2 is based on the June 6, 1998 snapshot of the GCC 2.8
|
|
|
|
development sources; it contains all of the new features found in GCC
|
|
|
|
2.8.1 as well as all new development from gcc2 up to June 6, 1998.
|
|
|
|
|
|
|
|
See the [1]new features page for a more complete list of new features
|
|
|
|
found in EGCS 1.1 releases.
|
|
|
|
|
|
|
|
The EGCS 1.1.2 release includes installation instructions in both HTML
|
|
|
|
and plaintext forms (see the INSTALL directory in the toplevel
|
|
|
|
directory of the EGCS 1.1.2 distribution). However, we also keep the
|
|
|
|
most up to date [2]installation instructions and [3]build/test status
|
|
|
|
on our web page. We will update those pages as new information becomes
|
|
|
|
available.
|
|
|
|
|
|
|
|
The EGCS project would like to thank the numerous people that have
|
|
|
|
contributed new features, test results, bugfixes, etc. This [4]amazing
|
|
|
|
group of volunteers is what makes EGCS successful.
|
|
|
|
|
|
|
|
And finally, we can't in good conscience fail to mention some
|
|
|
|
[5]caveats to using EGCS 1.1.2. [6]Download EGCS 1.1.2 from
|
|
|
|
egcs.cygnus.com (USA California) -->
|
|
|
|
|
|
|
|
[7]Download EGCS 1.1.2 from go.cygnus.com (USA California - High speed
|
|
|
|
link provided by Stanford)
|
|
|
|
|
|
|
|
The EGCS 1.1.2 release is also available on many [8]mirror sites.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
Last modified on July 28, 1999.
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/egcs-1.1/features.html
|
|
|
|
2. http://gcc.gnu.org/install/index.html
|
|
|
|
3. http://gcc.gnu.org/egcs-1.1/buildstat.html
|
|
|
|
4. http://gcc.gnu.org/thanks.html
|
|
|
|
5. http://gcc.gnu.org/egcs-1.1/caveats.html
|
|
|
|
6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
8. http://gcc.gnu.org/mirrors.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.1/egcs-1.1.1.html
|
|
|
|
|
|
|
|
EGCS 1.1.1
|
|
|
|
|
|
|
|
December 1, 1998
|
|
|
|
|
|
|
|
We are pleased to announce the release of EGCS 1.1.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.1.1 is a minor update to the EGCS 1.1 compiler to fix several
|
|
|
|
serious problems in EGCS 1.1.
|
|
|
|
* General improvements and fixes
|
|
|
|
+ Avoid some stack overflows when compiling large functions.
|
|
|
|
+ Avoid incorrect loop invariant code motions.
|
|
|
|
+ Fix some core dumps on Linux kernel code.
|
|
|
|
+ Bring back the imake -Di386 and friends fix from EGCS 1.0.2.
|
|
|
|
+ Fix code generation problem in gcse.
|
|
|
|
+ Various documentation related fixes.
|
|
|
|
* g++/libstdc++ improvements and fixes
|
|
|
|
+ MT safe EH fix for setjmp/longjmp based exception handling.
|
|
|
|
+ Fix a few bad interactions between optimization and exception
|
|
|
|
handling.
|
|
|
|
+ Fixes for demangling of template names starting with "__".
|
|
|
|
+ Fix a bug that would fail to run destructors in some cases
|
|
|
|
with -O2.
|
|
|
|
+ Fix 'new' of classes with virtual bases.
|
|
|
|
+ Fix crash building Qt on the Alpha.
|
|
|
|
+ Fix failure compiling WIFEXITED macro on GNU/Linux.
|
|
|
|
+ Fix some -frepo failures.
|
|
|
|
* g77 and libf2c improvements and fixes
|
|
|
|
+ Various documentation fixes.
|
|
|
|
+ Avoid compiler crash on RAND intrinsic.
|
|
|
|
+ Fix minor bugs in makefiles exposed by BSD make programs.
|
|
|
|
+ Define _XOPEN_SOURCE for libI77 build to avoid potential
|
|
|
|
problems on some 64-bit systems.
|
|
|
|
+ Fix problem with implicit endfile on rewind.
|
|
|
|
+ Fix spurious recursive I/O errors.
|
|
|
|
* platform specific improvements and fixes
|
|
|
|
+ Match all versions of UnixWare7.
|
|
|
|
+ Do not assume x86 SVR4 or UnixWare targets can handle stabs
|
|
|
|
+ Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
|
|
|
|
from unsigned ints to double precision floats.
|
|
|
|
+ Fix ARM ABI issue with NetBSD.
|
|
|
|
+ Fix a few arm code generation bugs.
|
|
|
|
+ Fixincludes will fix additional broken SCO OpenServer header
|
|
|
|
files.
|
|
|
|
+ Fix a m68k backend bug which caused invalid offsets in reg+d
|
|
|
|
addresses.
|
|
|
|
+ Fix problems with 64bit AIX 4.3 support.
|
|
|
|
+ Fix handling of long longs for varargs/stdarg functions on
|
|
|
|
the ppc.
|
|
|
|
+ Minor fixes to CPP predefines for Windows.
|
|
|
|
+ Fix code generation problems with gpr<->fpr copies for 64bit
|
|
|
|
ppc
|
|
|
|
+ Fix a few coldfire code generation bugs.
|
|
|
|
+ Fix some more header file problems on SunOS 4.x
|
|
|
|
+ Fix assert.h handling for RTEMS.
|
|
|
|
+ Fix Windows handling of TREE_SYMBOL_REFERENCED.
|
|
|
|
+ Fix x86 compiler abort in reg-stack pass.
|
|
|
|
+ Fix cygwin/windows problem with section attributes.
|
|
|
|
+ Fix Alpha code generation problem exposed by SMP Linux
|
|
|
|
kernels.
|
|
|
|
+ Fix typo in m68k 32->64bit integer conversion.
|
|
|
|
+ Make sure target libraries build with -fPIC for PPC & Alpha
|
|
|
|
targets.
|
|
|
|
|
|
|
|
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.1.1 is based on the June 6, 1998 snapshot of the GCC 2.8
|
|
|
|
development sources; it contains all of the new features found in GCC
|
|
|
|
2.8.1 as well as all new development from gcc2 up to June 6, 1998.
|
|
|
|
|
|
|
|
See the [1]new features page for a more complete list of new features
|
|
|
|
found in EGCS 1.1 releases.
|
|
|
|
|
|
|
|
The EGCS 1.1.1 release includes installation instructions in both HTML
|
|
|
|
and plaintext forms (see the INSTALL directory in the toplevel
|
|
|
|
directory of the EGCS 1.1.1 distribution). However, we also keep the
|
|
|
|
most up to date [2]installation instructions and [3]build/test status
|
|
|
|
on our web page. We will update those pages as new information becomes
|
|
|
|
available.
|
|
|
|
|
|
|
|
The EGCS project would like to thank the numerous people that have
|
|
|
|
contributed new features, test results, bugfixes, etc. This [4]amazing
|
|
|
|
group of volunteers is what makes EGCS successful.
|
|
|
|
|
|
|
|
And finally, we can't in good conscience fail to mention some
|
|
|
|
[5]caveats to using EGCS 1.1.1.
|
|
|
|
|
|
|
|
[6]Download EGCS 1.1.1 from egcs.cygnus.com (USA California)
|
|
|
|
|
|
|
|
The EGCS 1.1.1 release is also available on many mirror sites.
|
|
|
|
[7]Goto mirror list to find a closer site
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
Last modified on July 28, 1999.
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/egcs-1.1/features.html
|
|
|
|
2. http://gcc.gnu.org/install/index.html
|
|
|
|
3. http://gcc.gnu.org/egcs-1.1/buildstat.html
|
|
|
|
4. http://gcc.gnu.org/thanks.html
|
|
|
|
5. http://gcc.gnu.org/egcs-1.1/caveats.html
|
|
|
|
6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
7. http://gcc.gnu.org/mirrors.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.1/egcs-1.1.html
|
|
|
|
|
|
|
|
EGCS 1.1
|
|
|
|
|
|
|
|
September 3, 1998
|
|
|
|
|
|
|
|
We are pleased to announce the release of EGCS 1.1.
|
|
|
|
|
|
|
|
EGCS is a free software project to further the development of the GNU
|
|
|
|
compilers using an open development environment.
|
|
|
|
|
|
|
|
EGCS 1.1 is a major new release of the EGCS compiler system. It has
|
|
|
|
been [1]extensively tested and is believed to be stable and suitable
|
|
|
|
for widespread use.
|
|
|
|
|
|
|
|
EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8
|
|
|
|
development sources; it contains all of the new features found in GCC
|
|
|
|
2.8.1 as well as all new development from GCC up to June 6, 1998.
|
|
|
|
|
|
|
|
EGCS also contains many improvements and features not found in GCC or
|
|
|
|
in older versions of EGCS.
|
|
|
|
* Global common subexpression elimination and global constant/copy
|
|
|
|
propagation (aka [2]gcse)
|
|
|
|
* Ongoing improvements to the [3]alias analysis support to allow for
|
|
|
|
better optimizations throughout the compiler.
|
|
|
|
* Vastly improved [4]C++ compiler and integrated C++ runtime
|
|
|
|
libraries.
|
|
|
|
* Fixes for the /tmp symlink race security problems.
|
|
|
|
* New targets including mips16, arm-thumb and 64 bit PowerPC.
|
|
|
|
* Improvements to GNU Fortran (g77) compiler and runtime library
|
|
|
|
made since [5]g77 version 0.5.23.
|
|
|
|
|
|
|
|
See the [6]new features page for a more complete list of new features
|
|
|
|
found in EGCS 1.1 releases.
|
|
|
|
|
|
|
|
The EGCS 1.1 release includes installation instructions in both HTML
|
|
|
|
and plaintext forms (see the INSTALL directory in the toplevel
|
|
|
|
directory of the EGCS 1.1 distribution). However, we also keep the
|
|
|
|
most up to date [7]installation instructions and [8]build/test status
|
|
|
|
on our web page. We will update those pages as new information becomes
|
|
|
|
available.
|
|
|
|
|
|
|
|
The EGCS project would like to thank the numerous people that have
|
|
|
|
contributed new features, test results, bugfixes, etc. This [9]amazing
|
|
|
|
group of volunteers is what makes EGCS successful.
|
|
|
|
|
|
|
|
And finally, we can't in good conscience fail to mention some
|
|
|
|
[10]caveats to using EGCS 1.1.
|
|
|
|
|
|
|
|
[11]Download EGCS 1.1 from egcs.cygnus.com (USA California)
|
|
|
|
|
|
|
|
[12]Download EGCS 1.1 from go.cygnus.com (USA California -- High speed
|
|
|
|
link provided by Stanford)
|
|
|
|
|
|
|
|
The EGCS 1.1 release is also available on many mirror sites.
|
|
|
|
[13]Goto mirror list to find a closer site
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
Last modified on September 4, 1999.
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
|
|
|
|
2. http://gcc.gnu.org/news/gcse.html
|
|
|
|
3. http://gcc.gnu.org/news/alias.html
|
|
|
|
4. http://gcc.gnu.org/egcs-1.1/c++features.html
|
|
|
|
5. http://gcc.gnu.org/onlinedocs/g77_news.html
|
|
|
|
6. http://gcc.gnu.org/egcs-1.1/features.html
|
|
|
|
7. http://gcc.gnu.org/install/index.html
|
|
|
|
8. http://gcc.gnu.org/egcs-1.1/buildstat.html
|
|
|
|
9. http://gcc.gnu.org/thanks.html
|
|
|
|
10. http://gcc.gnu.org/egcs-1.1/caveats.html
|
|
|
|
11. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
12. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
13. http://gcc.gnu.org/mirrors.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.1/features.html
|
|
|
|
|
|
|
|
EGCS 1.1 new features
|
|
|
|
|
|
|
|
* Integrated GNU Fortran (g77) compiler and runtime library with
|
|
|
|
improvements, based on [1]g77 version 0.5.23.
|
|
|
|
* Vast improvements in the C++ compiler; so many they have [2]page
|
|
|
|
of their own!
|
|
|
|
* Compiler implements [3]global common subexpression elimination and
|
|
|
|
global copy/constant propagation.
|
|
|
|
* More major improvements in the [4]alias analysis code.
|
|
|
|
* More major improvements in the exception handling code to improve
|
|
|
|
performance, lower static overhead and provide the infrastructure
|
|
|
|
for future improvements.
|
|
|
|
* The infamous /tmp symlink race security problems have been fixed.
|
|
|
|
* The regmove optimization pass has been nearly completely rewritten
|
|
|
|
to improve performance of generated code.
|
|
|
|
* The compiler now recomputes register usage information before
|
|
|
|
local register allocation. By providing more accurate information
|
|
|
|
to the priority based allocator, we get better register
|
|
|
|
allocation.
|
|
|
|
* The register reloading phase of the compiler optimizes spill code
|
|
|
|
much better than in previous releases.
|
|
|
|
* Some bad interactions between the register allocator and
|
|
|
|
instruction scheduler have been fixed, resulting in much better
|
|
|
|
code for certain programs. Additionally, we have tuned the
|
|
|
|
scheduler in various ways to improve performance of generated code
|
|
|
|
for some architectures.
|
|
|
|
* The compiler's branch shortening algorithms have been
|
|
|
|
significantly improved to work better on targets which align jump
|
|
|
|
targets.
|
|
|
|
* The compiler now supports -Os to prefer optimizing for code space
|
|
|
|
over optimizing for code speed.
|
|
|
|
* The compiler will now totally eliminate library calls which
|
|
|
|
compute constant values. This primarily helps targets with no
|
|
|
|
integer div/mul support and targets without floating point
|
|
|
|
support.
|
|
|
|
* The compiler now supports an extensive "--help" option.
|
|
|
|
* cpplib has been greatly improved and may be suitable for limited
|
|
|
|
use.
|
|
|
|
* Memory footprint for the compiler has been significantly reduced
|
|
|
|
for some pathological cases.
|
|
|
|
* The time to build EGCS has been improved for certain targets
|
|
|
|
(particularly the alpha and mips platforms).
|
|
|
|
* Many infrastructure improvements throughout the compiler, plus the
|
|
|
|
usual mountain of bugfixes and minor improvements.
|
|
|
|
* Target dependent improvements:
|
|
|
|
+ SPARC port now includes V8 plus and V9 support as well as
|
|
|
|
performance tuning for Ultra class machines. The SPARC port
|
|
|
|
now uses the Haifa scheduler.
|
|
|
|
+ Alpha port has been tuned for the EV6 processor and has an
|
|
|
|
optimized expansion of memcpy/bzero. The Alpha port now uses
|
|
|
|
the Haifa scheduler.
|
|
|
|
+ RS6000/PowerPC: EGCS 1.1 includes support for the Power64
|
|
|
|
architecture and aix4.3 support. The RS6000/PowerPC port now
|
|
|
|
uses the Haifa scheduler.
|
|
|
|
+ x86: Alignment of static store data and jump targets is per
|
|
|
|
Intel recommendations now. Various improvements throughout
|
|
|
|
the x86 port to improve performance on Pentium processors.
|
|
|
|
Conditional move support has been fixed and enabled for PPro
|
|
|
|
processors. The x86 port also better supports 64bit
|
|
|
|
operations now.
|
|
|
|
+ MIPS has improved multiply/multiply-add support and now
|
|
|
|
includes mips16 ISA support.
|
|
|
|
+ M68k has many micro-optimizations and Coldfire fixes.
|
|
|
|
* Core compiler is based on the GCC development tree from June 9,
|
|
|
|
1998, so we have all of the [5]features found in GCC 2.8.
|
|
|
|
|
|
|
|
[6]Return to the EGCS home page
|
|
|
|
|
|
|
|
Last modified: September 4, 1999
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/onlinedocs/g77_news.html
|
|
|
|
2. http://gcc.gnu.org/egcs-1.1/c++features.html
|
|
|
|
3. http://gcc.gnu.org/news/gcse.html
|
|
|
|
4. http://gcc.gnu.org/news/alias.html
|
|
|
|
5. http://gcc.gnu.org/egcs-1.0/features-2.8.html
|
|
|
|
6. http://gcc.gnu.org/index.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.1/caveats.html
|
|
|
|
|
|
|
|
EGCS 1.1 Caveats
|
|
|
|
|
|
|
|
* EGCS has an integrated libstdc++, but does not have an integrated
|
|
|
|
libg++. Furthermore old libg++ releases will not work with EGCS;
|
|
|
|
HJ Lu has made a [1]libg++ snapshot available which may work with
|
|
|
|
EGCS.
|
|
|
|
Note most C++ programs only need libstdc++.
|
|
|
|
* Exception handling may not work with shared libraries,
|
|
|
|
particularly on alphas, hppas, rs6000/powerpc and mips based
|
|
|
|
platforms. Exception handling is known to work on x86-linux
|
|
|
|
platforms with shared libraries.
|
|
|
|
* Some versions of the Linux kernel have bugs which prevent them
|
|
|
|
from being compiled or from running when compiled by EGCS. See
|
|
|
|
[2]the FAQ for additional information.
|
|
|
|
* In general, EGCS is more rigorous about rejecting invalid C++ code
|
|
|
|
or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As
|
|
|
|
a result it may be necessary to fix C++ code before it will
|
|
|
|
compile with EGCS.
|
|
|
|
* G++ is also converting toward the ISO C++ standard; as a result
|
|
|
|
code which was previously valid (and thus accepted by other
|
|
|
|
compilers and older versions of g++) may no longer be accepted.
|
|
|
|
* EGCS 1.1 compiled C++ code is not binary compatible with EGCS
|
|
|
|
1.0.x or GCC 2.8.x due to changes necessary to support thread safe
|
|
|
|
exception handling.
|
|
|
|
|
|
|
|
[3]Return to the GCC home page
|
|
|
|
|
|
|
|
Last modified: July 28, 1999
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
|
|
|
|
2. http://gcc.gnu.org/fom_serv/cache/24.html
|
|
|
|
3. http://gcc.gnu.org/index.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html
|
|
|
|
|
|
|
|
EGCS 1.0.3
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
* Generic bugfixes:
|
|
|
|
+ Fix a typo in the libio library which resulted in incorrect
|
|
|
|
behavior of istream::get.
|
|
|
|
+ Fix the Fortran negative array index problem.
|
|
|
|
+ Fix a major problem with the ObjC runtime thread support
|
|
|
|
exposed by glibc2.
|
|
|
|
+ Reduce memory consumption of the Haifa scheduler.
|
|
|
|
* Target specific bugfixes:
|
|
|
|
+ Fix one x86 floating point code generation bug exposed by
|
|
|
|
glibc2 builds.
|
|
|
|
+ Fix one x86 internal compiler error exposed by glibc2 builds.
|
|
|
|
+ Fix profiling bugs on the Alpha.
|
|
|
|
+ Fix ImageMagick & emacs 20.2 build problems on the Alpha.
|
|
|
|
+ Fix rs6000/ppc bug when converting values from integer types
|
|
|
|
to floating point types.
|
|
|
|
|
|
|
|
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.3 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
|
|
|
|
or GCC 2.8.
|
|
|
|
* Integrated C++ runtime libraries, including support for most major
|
|
|
|
GNU/Linux systems!
|
|
|
|
* The integrated libstdc++ library includes a verbatim copy of
|
|
|
|
[1]SGI's STL release instead of a modified copy.
|
|
|
|
* Integrated GNU Fortran compiler
|
|
|
|
* New instruction scheduler
|
|
|
|
* New alias analysis code
|
|
|
|
|
|
|
|
See the [2]new features page for a more complete list of new features
|
|
|
|
found in EGCS 1.0.x releases.
|
|
|
|
|
|
|
|
The EGCS 1.0.3 release includes installation instructions in both HTML
|
|
|
|
and plaintext forms (see the INSTALL directory in the toplevel
|
|
|
|
directory of the EGCS 1.0.3 distribution). However, we also keep the
|
|
|
|
most up to date [3]installation instructions and [4]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 [5]caveats to
|
|
|
|
using EGCS.
|
|
|
|
|
|
|
|
Update: Big thanks to Stanford for providing a high speed link for
|
|
|
|
downloading EGCS (go.cygnus.com)!
|
|
|
|
|
|
|
|
[6]Download EGCS 1.0.3 from ftp.cygnus.com (USA California)
|
|
|
|
|
|
|
|
[7]Download EGCS 1.0.3 from go.cygnus.com (USA California -- High
|
|
|
|
speed link provided by Stanford)
|
|
|
|
|
|
|
|
The EGCS 1.0.3 release is also available on many mirror sites.
|
|
|
|
[8]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.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
Last modified on February 22, 1999.
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://www.sgi.com/Technology/STL
|
|
|
|
2. http://gcc.gnu.org/egcs-1.0/features.html
|
|
|
|
3. http://gcc.gnu.org/install/index.html
|
|
|
|
4. http://gcc.gnu.org/egcs-1.0/buildstat.html
|
|
|
|
5. http://gcc.gnu.org/egcs-1.0/caveats.html
|
|
|
|
6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
8. http://gcc.gnu.org/mirrors.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html
|
|
|
|
|
|
|
|
EGCS 1.0.2
|
|
|
|
|
|
|
|
March 16, 1998
|
|
|
|
|
|
|
|
We are pleased to announce the release of EGCS 1.0.2.
|
|
|
|
|
|
|
|
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.2 is a minor update to the EGCS 1.0.1 compiler to fix several
|
|
|
|
serious problems in EGCS 1.0.1.
|
|
|
|
* General improvements and fixes
|
|
|
|
+ Memory consumption significantly reduced, especially for
|
|
|
|
templates and inline functions.
|
|
|
|
+ Fix various problems with glibc2.1.
|
|
|
|
+ Fix loop optimization bug exposed by rs6000/ppc port.
|
|
|
|
+ Fix to avoid potential code generation problems in jump.c.
|
|
|
|
+ Fix some undefined symbol problems in dwarf1 debug support.
|
|
|
|
* g++/libstdc++ improvements and fixes
|
|
|
|
+ libstdc++ in the EGCS release has been updated and should be
|
|
|
|
link compatible with libstdc++-2.8.
|
|
|
|
+ Various fixes in libio/libstdc++ to work better on Linux
|
|
|
|
systems.
|
|
|
|
+ Fix problems with duplicate symbols on systems that do not
|
|
|
|
support weak symbols.
|
|
|
|
+ Memory corruption bug and undefined symbols in bastring have
|
|
|
|
been fixed.
|
|
|
|
+ Various exception handling fixes.
|
|
|
|
+ Fix compiler abort for very long thunk names.
|
|
|
|
* g77 improvements and fixes
|
|
|
|
+ Fix compiler crash for omitted bound in Fortran CASE
|
|
|
|
statement.
|
|
|
|
+ Add missing entries to g77 lang-options.
|
|
|
|
+ Fix problem with -fpedantic in the g77 compiler.
|
|
|
|
+ Fix "backspace" problem with g77 on alphas.
|
|
|
|
+ Fix x86 backend problem with Fortran literals and -fpic.
|
|
|
|
+ Fix some of the problems with negative subscripts for g77 on
|
|
|
|
alphas.
|
|
|
|
+ Fixes for Fortran builds on cygwin32/mingw32.
|
|
|
|
* platform specific improvements and fixes
|
|
|
|
+ Fix long double problems on x86 (exposed by glibc)
|
|
|
|
+ x86 ports define i386 again to keep imake happy.
|
|
|
|
+ Fix exception handling support on NetBSD ports.
|
|
|
|
+ Several changes to collect2 to fix many problems with AIX.
|
|
|
|
+ Define __ELF__ for rs6000/linux.
|
|
|
|
+ Fix -mcall-linux problem on rs6000/linux.
|
|
|
|
+ Fix stdarg/vararg problem for rs6000/linux.
|
|
|
|
+ Allow autoconf to select a proper install problem on AIX 3.1.
|
|
|
|
+ m68k port support includes -mcpu32 option as well as cpu32
|
|
|
|
multilibs.
|
|
|
|
+ Fix stdarg bug for irix6.
|
|
|
|
+ Allow EGCS to build on irix5 without the gnu assembler.
|
|
|
|
+ Fix problem with static linking on sco5.
|
|
|
|
+ Fix bootstrap on sco5 with native compiler.
|
|
|
|
+ Fix for abort building newlib on H8 target.
|
|
|
|
+ Fix fixincludes handling of math.h on SunOS.
|
|
|
|
+ Minor fix for motorola 3300 m68k systems.
|
|
|
|
|
|
|
|
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.2 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
|
|
|
|
or GCC 2.8.
|
|
|
|
* Integrated C++ runtime libraries, including support for most major
|
|
|
|
linux systems!
|
|
|
|
* The integrated libstdc++ library includes a verbatim copy of
|
|
|
|
[1]SGI's STL release.
|
|
|
|
* Integrated GNU Fortran compiler
|
|
|
|
* New instruction scheduler
|
|
|
|
* New alias analysis code
|
|
|
|
|
|
|
|
See the [2]new features page for a more complete list of new features
|
|
|
|
found in EGCS 1.0.x releases.
|
|
|
|
|
|
|
|
The EGCS 1.0.2 release includes installation instructions in both HTML
|
|
|
|
and plaintext forms (see the INSTALL directory in the toplevel
|
|
|
|
directory of the EGCS 1.0.2 distribution). However, we also keep the
|
|
|
|
most up to date [3]installation instructions and [4]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 [5]caveats to
|
|
|
|
using EGCS.
|
|
|
|
|
|
|
|
Update: Big thanks to Stanford for providing a high speed link for
|
|
|
|
downloading EGCS (go.cygnus.com)!
|
|
|
|
|
|
|
|
[6]Download EGCS 1.0.2 from ftp.cygnus.com (USA California)
|
|
|
|
|
|
|
|
[7]Download EGCS 1.0.2 from go.cygnus.com (USA California -- High
|
|
|
|
speed link provided by Stanford)
|
|
|
|
|
|
|
|
The EGCS 1.0.2 release is also available on many mirror sites.
|
|
|
|
[8]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.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
Last modified on July 28, 1999.
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://www.sgi.com/Technology/STL/
|
|
|
|
2. http://gcc.gnu.org/egcs-1.0/features.html
|
|
|
|
3. http://gcc.gnu.org/install/index.html
|
|
|
|
4. http://gcc.gnu.org/egcs-1.0/buildstat.html
|
|
|
|
5. http://gcc.gnu.org/egcs-1.0/caveats.html
|
|
|
|
6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
8. http://gcc.gnu.org/mirrors.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html
|
|
|
|
|
|
|
|
EGCS 1.0.1
|
|
|
|
|
|
|
|
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:
|
|
|
|
* 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.
|
|
|
|
* Compatability 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 backends.
|
|
|
|
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.
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
* Integrated C++ runtime libraries, including support for most major
|
|
|
|
linux systems!
|
|
|
|
* The integrated libstdc++ library includes a verbatim copy of
|
|
|
|
[1]SGI's STL release.
|
|
|
|
* Integrated GNU Fortran compiler
|
|
|
|
* New instruction scheduler
|
|
|
|
* New alias analysis code
|
|
|
|
|
|
|
|
See the [2]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 [3]installation instructions and [4]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 [5]caveats to
|
|
|
|
using EGCS.
|
|
|
|
|
|
|
|
Update: Big thanks to Stanford for providing a high speed link for
|
|
|
|
downloading EGCS (go.cygnus.com)!
|
|
|
|
|
|
|
|
[6]Download EGCS 1.0.1 from ftp.cygnus.com (USA California)
|
|
|
|
|
|
|
|
[7]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.
|
|
|
|
[8]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.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
Last modified on July 28, 1999.
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://www.sgi.com/Technology/STL/
|
|
|
|
2. http://gcc.gnu.org/egcs-1.0/features.html
|
|
|
|
3. http://gcc.gnu.org/install/index.html
|
|
|
|
4. http://gcc.gnu.org/egcs-1.0/buildstat.html
|
|
|
|
5. http://gcc.gnu.org/egcs-1.0/caveats.html
|
|
|
|
6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
8. http://gcc.gnu.org/mirrors.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.0/egcs-1.0.html
|
|
|
|
|
|
|
|
EGCS 1.0
|
|
|
|
|
|
|
|
December 3, 1997
|
|
|
|
|
|
|
|
We are pleased to announce the release of EGCS 1.0.
|
|
|
|
|
|
|
|
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 soon to be released GCC 2.8 compilers.
|
|
|
|
* Integrated C++ runtime libraries, including support for most major
|
|
|
|
linux systems!
|
|
|
|
* The integrated libstdc++ library includes a verbatim copy of
|
|
|
|
[1]SGI's STL release.
|
|
|
|
* Integrated GNU Fortran compiler
|
|
|
|
* New instruction scheduler
|
|
|
|
* New alias analysis code
|
|
|
|
|
|
|
|
See the [2]new features page for a more complete list of new features.
|
|
|
|
|
|
|
|
The EGCS 1.0 release includes installation instructions in both HTML
|
|
|
|
and plaintext forms (see the INSTALL directory in the toplevel
|
|
|
|
directory of the EGCS 1.0 distribution). However, we also keep the
|
|
|
|
most up to date [3]installation instructions and [4]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 [5]caveats to
|
|
|
|
using EGCS.
|
|
|
|
|
|
|
|
Update: The T1 into our main California offices has been 100%
|
|
|
|
saturated since shortly after the release. We've added an EGCS 1.0
|
|
|
|
mirror at our Massachusetts office to help share the load. We also
|
|
|
|
encourage folks to use the many mirrors available throughout the
|
|
|
|
world.
|
|
|
|
|
|
|
|
Update: Big thanks to Stanford for providing a high speed link for
|
|
|
|
downloading EGCS! (go.cygnus.com)
|
|
|
|
|
|
|
|
[6]Download EGCS 1.0 from ftp.cygnus.com (USA California)
|
|
|
|
|
|
|
|
[7]Download EGCS 1.0 from go.cygnus.com (USA California -- High speed
|
|
|
|
link provided by Stanford)
|
|
|
|
|
|
|
|
The EGCS 1.0 release should be available on most mirror sites by now.
|
|
|
|
[8]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.
|
|
|
|
_________________________________________________________________
|
|
|
|
|
|
|
|
Last modified on July 28, 1999.
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://www.sgi.com/Technology/STL
|
|
|
|
2. http://gcc.gnu.org/egcs-1.0/features.html
|
|
|
|
3. http://gcc.gnu.org/install/index.html
|
|
|
|
4. http://gcc.gnu.org/egcs-1.0/buildstat.html
|
|
|
|
5. http://gcc.gnu.org/egcs-1.0/caveats.html
|
|
|
|
6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
|
|
|
|
8. http://gcc.gnu.org/mirrors.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.0/features.html
|
|
|
|
|
|
|
|
EGCS 1.0 features
|
|
|
|
|
|
|
|
* Core compiler is based on the gcc2 development tree from Aug 2,
|
|
|
|
1997, so we have most of the [1]features found in GCC 2.8.
|
|
|
|
* Integrated GNU Fortran compiler based on g77-0.5.22-19970929.
|
|
|
|
* Vast improvements in the C++ compiler; so many they have [2]page
|
|
|
|
of their own!
|
|
|
|
* Integrated C++ runtime libraries, including support for most major
|
|
|
|
linux systems!
|
|
|
|
* New instruction scheduler from IBM Haifa which includes support
|
|
|
|
for function wide instruction scheduling as well as superscalar
|
|
|
|
scheduling.
|
|
|
|
* Significantly improved alias analysis code.
|
|
|
|
* Improved register allocation for two address machines.
|
|
|
|
* Significant code generation improvements for Fortran code on
|
|
|
|
Alphas
|
|
|
|
* Various optimizations from the g77 project as well as improved
|
|
|
|
loop optimizations.
|
|
|
|
* Dwarf2 debug format support for some targets.
|
|
|
|
* egcs libstdc++ includes the SGI STL implementation without
|
|
|
|
changes.
|
|
|
|
* As a result of these and other changes, egcs libstc++ is not
|
|
|
|
binary compatible with previous releases of libstdc++.
|
|
|
|
* Various new ports -- UltraSPARC, Irix6.2 & Irix6.3 support, The
|
|
|
|
SCO Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0
|
|
|
|
and 1.1), Support for RTEMS on several embedded targets, Support
|
|
|
|
for arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
|
|
|
|
MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
|
|
|
|
* Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
|
|
|
|
* RS6000/PowerPC ports generate code which can run on all
|
|
|
|
RS6000/PowerPC variants by default.
|
|
|
|
* -mcpu= and -march= switches for the x86 port to allow better
|
|
|
|
control over how the x86 port generates code.
|
|
|
|
* Includes the template repository patch (aka repo patch); note the
|
|
|
|
new template code makes repo obsolete for ELF systems using gnu-ld
|
|
|
|
such as Linux.
|
|
|
|
* Plus the usual assortment of bugfixes and improvements.
|
|
|
|
|
|
|
|
[3]Return to the egcs home page
|
|
|
|
|
|
|
|
Last modified: July 28, 1999
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
|
|
|
|
2. http://gcc.gnu.org/egcs-1.0/c++features.html
|
|
|
|
3. http://gcc.gnu.org/index.html
|
|
|
|
======================================================================
|
|
|
|
http://gcc.gnu.org/egcs-1.0/caveats.html
|
|
|
|
|
|
|
|
EGCS 1.0 Caveats
|
|
|
|
|
|
|
|
* EGCS has an integrated libstdc++, but does not have an integrated
|
|
|
|
libg++. Furthermore old libg++ releases will not work with egc; HJ
|
|
|
|
Lu has made a [1]libg++ snapshot available which may work with
|
|
|
|
EGCS.
|
|
|
|
Note most C++ programs only need libstdc++.
|
|
|
|
* Note that using -pedantic or -Wreturn-type can cause an explosion
|
|
|
|
in the amount of memory needed for template-heavy C++ code, such
|
|
|
|
as code that uses STL. Also note that -Wall includes
|
|
|
|
-Wreturn-type, so if you use -Wall you will need to specify
|
|
|
|
-Wno-return-type to turn it off.
|
|
|
|
* Exception handling may not work with shared libraries,
|
|
|
|
particularly on alphas, hppas, and mips based platforms. Exception
|
|
|
|
handling is known to work on x86-linux platforms with shared
|
|
|
|
libraries.
|
|
|
|
* Some versions of the Linux kernel have bugs which prevent them
|
|
|
|
from being compiled or from running when compiled by EGCS. See
|
|
|
|
[2]the FAQ for additional information.
|
|
|
|
* In general, EGCS is more rigorous about rejecting invalid C++ code
|
|
|
|
or deprecated C++ constructs than G++ 2.7. As a result it may be
|
|
|
|
necessary to fix C++ code before it will compile with EGCS.
|
|
|
|
* G++ is also aggressively tracking the C++ standard; as a result
|
|
|
|
code which was previously valid (and thus accepted by other
|
|
|
|
compilers and older versions of G++) may no longer be accepted.
|
|
|
|
* EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS
|
|
|
|
1.0.x and later releases should work with Red Hat Linux 5.0.
|
|
|
|
|
|
|
|
[3]Return to the GCC home page
|
|
|
|
|
|
|
|
Last modified: August 27, 1998
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
|
|
|
|
2. http://gcc.gnu.org/fom_serv/cache/24.html
|
|
|
|
3. http://gcc.gnu.org/index.html
|
|
|
|
======================================================================
|