| 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 |
| ====================================================================== |