aboutsummaryrefslogtreecommitdiff
path: root/gcc/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/NEWS')
-rw-r--r--gcc/NEWS1448
1 files changed, 0 insertions, 1448 deletions
diff --git a/gcc/NEWS b/gcc/NEWS
deleted file mode 100644
index 4a34a72e5a2..00000000000
--- a/gcc/NEWS
+++ /dev/null
@@ -1,1448 +0,0 @@
-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.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/faq.html#linuxkernel
- 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/faq.html#linuxkernel
- 3. http://gcc.gnu.org/index.html
-======================================================================