1 This file contains information about GCC releases which has been
2 generated automatically from the online release notes. This file
3 covers releases of GCC (and the former EGCS project) since EGCS 1.0,
4 on the line of development that led to GCC 3; for information on GCC
5 2.8.1 and older releases of GCC 2, see ONEWS.
7 ======================================================================
8 http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html
14 The GNU project and the GCC developers are pleased to announce the
15 release of GCC version 2.95.2. GCC used to stand for the GNU C
16 Compiler, but since the compiler supports several other languages
17 aside from C, it now stands for the GNU Compiler Collection.
19 This is a minor release to address several bugs in the GCC version
22 The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While
23 the optimizations performed by -fstrict-aliasing are valid according
24 to the C and C++ standards, the optimization have caused some
25 problems, particularly with old non-conforming code.
27 The GCC developers are experimenting with ways to warn users about
28 code which violates the C/C++ standards, but those warnings are not
29 ready for widespread use at this time. Rather than wait for those
30 warnings the GCC developers have chosen to disable -fstrict-aliasing
31 by default for the GCC 2.95.2 release.
33 We strongly encourage developers to find and fix code which violates
34 the C/C++ standards as -fstrict-aliasing may be enabled by default in
35 future releases. Use the option -fstrict-aliasing to re-enable these
38 * Generic bugfixes and improvements
39 + Fix incorrectly optimized memory reference in global common
40 subexpression elimination (GCSE) optimization pass.
41 + Fix code generation bug in regmove.c in which it could
42 incorrectly change a "const" value.
43 + Fix bug in optimization of conditionals involving volatile
45 + Avoid over-allocation of stack space for some procedures.
46 + Fixed bug in the compiler which caused incorrect optimization
47 of an obscure series of bit manipulations, shifts and
49 + Fixed register allocator bug which caused teTeX to be
50 mis-compiled on Sparc targets.
51 + Avoid incorrect optimization of degenerate case statements
52 for certain targets such as the ARM.
53 + Fix out of range memory reference in the jump optimizer.
54 + Avoid dereferencing null pointer in fix-header.
55 + Fix test for GCC specific features so that it is possible to
56 bootstrap with gcc-2.6.2 and older versions of GCC.
57 + Fix typo in scheduler which could potentially cause out of
58 range memory accesses.
59 + Avoid incorrect loop reversal which caused incorrect code for
60 certain loops on PowerPC targets.
61 + Avoid incorrect optimization of switch statements on certain
62 targets (for example the ARM).
63 * Platform specific bugfixes and improvements
64 + Work around bug in Sun V5.0 compilers which caused bootstrap
65 comparison failures on Sparc targets.
66 + Fix Sparc backend bug which caused aborts in final.c.
67 + Fix sparc-hal-solaris2* configuration fragments.
68 + Fix bug in sparc block profiling.
69 + Fix obscure code generation bug for the PARISC targets.
70 + Define __STDC_EXT__ for HPUX configurations.
71 + Various POWERPC64 code generation bugfixes.
72 + Fix abort for PPC targets using ELF (ex GNU/Linux).
73 + Fix collect2 problems for AIX targets.
74 + Correct handling of .file directive for PPC targets.
75 + Fix bug in fix_trunc x86 patterns.
76 + Fix x86 port to correctly pop the FP stack for functions that
77 return structures in memory.
78 + Fix minor bug in strlen x86 pattern.
79 + Use stabs debugging instead of dwarf1 for x86-solaris
81 + Fix template repository code to handle leading underscore in
83 + Fix weak/weak alias support for OpenBSD.
84 + GNU/Linux for the ARM has C++ compatible include files.
85 * Language & Runtime specific fixes.
86 + Fix handling of constructor attribute in the C front-end
87 which caused problems building the Chill runtime library on
89 + Fix minor problem merging type qualifiers in the C front-end.
90 + Fix aliasing bug for pointers and references (C/C++).
91 + Fix incorrect "non-constant initializer bug" when
92 -traditional or -fwritable-strings is enabled.
93 + Fix build error for Chill front-end on SunOS.
94 + Do not complain about duplicate instantiations when using
96 + Fix array bounds handling in C++ front-end which caused
97 problems with dwarf debugging information in some
99 + Fix minor namespace problem.
100 + Fix problem linking java programs.
102 The whole suite has been extensively [1]regression tested and
103 [2]package tested. It should be reliable and suitable for widespread
106 The GCC 2.95 release has several new optimizations, new targets, new
107 languages and other new features as compared to EGCS 1.1 or GCC 2.8.
108 See the [3]new features page for a more complete list of new features
109 found in the GCC 2.95 releases.
111 The sources include installation instructions in both HTML and
112 plaintext forms in the install directory in the distribution. However,
113 the most up to date [4]installation instructions and [5]build/test
114 status are on the web pages. We will update those pages as new
115 information becomes available.
117 The GCC developers would like to thank the numerous people that have
118 contributed new features, test results, bugfixes, etc to GCC. This
119 [6]amazing group of volunteers is what makes GCC successful.
121 And finally, we can't in good conscience fail to mention some
122 [7]caveats to using GCC 2.95.2.
124 Download GCC 2.95.2 from the [8]GNU FTP server (ftp://ftp.gnu.org)
125 Download GCC 2.95.2 from the [9]GCC/EGCS FTP server
127 [10]Find a GNU mirror site
128 [11]Find a GCC/EGCS mirror site
130 For additional information about GCC please see the [12]GCC project
131 web server or contact the [13]GCC development mailing list.
132 _________________________________________________________________
136 Last modified 2000-11-10
140 1. http://gcc.gnu.org/gcc-2.95/regress.html
141 2. http://gcc.gnu.org/gcc-2.95/othertest.html
142 3. http://gcc.gnu.org/gcc-2.95/features.html
143 4. http://gcc.gnu.org/install/index.html
144 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
145 6. http://gcc.gnu.org/thanks.html
146 7. http://gcc.gnu.org/gcc-2.95/caveats.html
147 8. ftp://ftp.gnu.org/pub/gnu/gcc/
148 9. ftp://gcc.gnu.org/pub/gcc/releases/index.html
149 10. http://www.gnu.org/order/ftp.html
150 11. http://gcc.gnu.org/mirrors.html
151 12. http://gcc.gnu.org/index.html
152 13. mailto:gcc@gcc.gnu.org
153 14. http://gcc.gnu.org/about.html
154 ======================================================================
155 http://gcc.gnu.org/gcc-2.95/gcc-2.95.1.html
161 The GNU project and the GCC/EGCS developers are pleased to announce
162 the release of GCC version 2.95.1. GCC used to stand for the GNU C
163 Compiler, but since the compiler supports several other languages
164 aside from C, it now stands for the GNU Compiler Collection.
166 This is a minor release to address several bugs in the GCC version
169 * Generic bugfixes and improvements
170 + Various documentation fixes related to the GCC/EGCS merger.
171 + Fix memory management bug which could lead to spurious
172 aborts, core dumps or random parsing errors in the compiler.
173 + Fix a couple bugs in the dwarf1 and dwarf2 debug record
175 + Fix infinite loop in the CSE optimizer.
176 + Avoid undefined behavior in compiler FP emulation code
177 + Fix install problem when prefix is overridden on the make
179 + Fix problem with unwanted installation of assert.h on some
181 + Fix problem with finding the wrong assembler in a single tree
183 + Avoid increasing the known alignment of a register that is
184 already known to be a pointer.
185 * Platform specific bugfixes and improvements
186 + Codegen bugfix for prologue/epilogue for cpu32 target.
187 + Fix long long code generation bug for the Coldfire target.
188 + Fix various aborts in the SH compiler.
189 + Fix bugs in libgcc support library for the SH.
190 + Fix alpha ev6 code generation bug.
191 + Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on
193 + Fix -fpic code generation bug for rs6000/ppc svr4 targets.
194 + Fix varargs/stdarg code generation bug for rs6000/ppc svr4
196 + Fix weak symbol handling for rs6000/ppc svr4 targets.
197 + Fix various problems with 64bit code generation for the
199 + Fix codegen bug which caused tetex to be mis-compiled on the
201 + Fix compiler abort in new cfg code exposed by x86 port.
202 + Fix out of range array reference in code convert flat
203 registers to the x87 stacked FP register file.
204 + Fix minor vxworks configuration bug
205 + Fix return type of bsearch for SunOS 4.x.
206 * Language & Runtime specific fixes.
207 + The G++ signature extension has been deprecated. It will be
208 removed in the next major release of G++. Use of signatures
209 will result in a warning from the compiler.
210 + Several bugs relating to templates and namespaces were fixed.
211 + A bug that caused crashes when combining templates with -g on
212 DWARF1 platforms was fixed.
213 + Pointers-to-members, virtual functions, and multiple
214 inheritance should now work together correctly.
215 + Some code-generation bugs relating to function try blocks
217 + G++ is a little bit more lenient with certain archaic
218 constructs than in GCC 2.95.
219 + Fix to prevent shared library version #s from bring truncated
221 + Fix missing std:: in the libstdc++ library.
222 + Fix stream locking problems in libio.
223 + Fix problem in java compiler driver.
225 The whole suite has been extensively [1]regression tested and
226 [2]package tested. It should be reliable and suitable for widespread
229 The compiler has several new optimizations, new targets, new languages
230 and other new features. See the [3]new features page for a more
231 complete list of new features found in the GCC 2.95 releases.
233 The sources include installation instructions in both HTML and
234 plaintext forms in the install directory in the distribution. However,
235 the most up to date [4]installation instructions and [5]build/test
236 status are on the web pages. We will update those pages as new
237 information becomes available.
239 The GCC developers would like to thank the numerous people that have
240 contributed new features, test results, bugfixes, etc to GCC. This
241 [6]amazing group of volunteers is what makes GCC successful.
243 And finally, we can't in good conscience fail to mention some
244 [7]caveats to using GCC 2.95.1.
246 Download GCC 2.95.1 from the [8]GNU FTP server (ftp://ftp.gnu.org)
247 Download GCC 2.95.1 from the [9]GCC/EGCS FTP server
248 (ftp://go.cygnus.com)
249 [10]Find a GNU mirror site
250 [11]Find a GCC/EGCS mirror site
252 For additional information about GCC please see the [12]GCC project
253 web server or contact the [13]GCC development mailing list.
254 _________________________________________________________________
258 Last modified 2000-11-10
262 1. http://gcc.gnu.org/gcc-2.95/regress.html
263 2. http://gcc.gnu.org/gcc-2.95/othertest.html
264 3. http://gcc.gnu.org/gcc-2.95/features.html
265 4. http://gcc.gnu.org/install/index.html
266 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
267 6. http://gcc.gnu.org/thanks.html
268 7. http://gcc.gnu.org/gcc-2.95/caveats.html
269 8. ftp://ftp.gnu.org/pub/gnu/gcc/
270 9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
271 10. http://www.gnu.org/order/ftp.html
272 11. http://gcc.gnu.org/mirrors.html
273 12. http://gcc.gnu.org/index.html
274 13. mailto:gcc@gcc.gnu.org
275 14. http://gcc.gnu.org/about.html
276 ======================================================================
277 http://gcc.gnu.org/gcc-2.95/gcc-2.95.html
283 The GNU project and the GCC/EGCS developers are pleased to announce
284 the release of GCC version 2.95. GCC used to stand for the GNU C
285 Compiler, but since the compiler supports several other languages
286 aside from C, it now stands for the GNU Compiler Collection.
288 This is the first release of GCC since the April 1999 GCC/EGCS
289 reunification and includes nearly a year's worth of new development
292 The whole suite has been extensively [1]regression tested and
293 [2]package tested. It should be reliable and suitable for widespread
296 The compiler has several new optimizations, new targets, new languages
297 and other new features. See the [3]new features page for a more
298 complete list of new features found in the GCC 2.95 releases.
300 The sources include installation instructions in both HTML and
301 plaintext forms in the install directory in the distribution. However,
302 the most up to date [4]installation instructions and [5]build/test
303 status are on the web pages. We will update those pages as new
304 information becomes available.
306 The GCC developers would like to thank the numerous people that have
307 contributed new features, test results, bugfixes, etc to GCC. This
308 [6]amazing group of volunteers is what makes GCC successful.
310 And finally, we can't in good conscience fail to mention some
311 [7]caveats to using GCC 2.95.
313 Download GCC 2.95 from the [8]GNU FTP server (ftp://ftp.gnu.org)
314 Download GCC 2.95 from the [9]GCC/EGCS FTP server
315 (ftp://go.cygnus.com)
316 [10]Find a GNU mirror site
317 [11]Find a GCC/EGCS mirror site
319 For additional information about GCC please see the [12]GCC project
320 web server or contact the [13]GCC development mailing list.
321 _________________________________________________________________
325 Last modified 2000-11-10
329 1. http://gcc.gnu.org/gcc-2.95/regress.html
330 2. http://gcc.gnu.org/gcc-2.95/othertest.html
331 3. http://gcc.gnu.org/gcc-2.95/features.html
332 4. http://gcc.gnu.org/install/index.html
333 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
334 6. http://gcc.gnu.org/thanks.html
335 7. http://gcc.gnu.org/gcc-2.95/caveats.html
336 8. ftp://ftp.gnu.org/pub/gnu/gcc/
337 9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
338 10. http://www.gnu.org/order/ftp.html
339 11. http://gcc.gnu.org/mirrors.html
340 12. http://gcc.gnu.org/index.html
341 13. mailto:gcc@gcc.gnu.org
342 14. http://gcc.gnu.org/about.html
343 ======================================================================
344 http://gcc.gnu.org/gcc-2.95/features.html
346 GCC 2.95 New Features
348 * General Optimizer Improvements:
349 + [1]Localized register spilling to improve speed and code
350 density especially on small register class machines.
351 + [2]Global CSE using lazy code motion algorithms.
352 + [3]Improved global constant/copy propagation.
353 + [4]Improved control flow graph analysis and manipulation.
354 + [5]Local dead store elimination.
355 + [6]Memory Load hoisting/store sinking in loops.
356 + [7]Type based alias analysis is enabled by default. Note this
357 feature will expose bugs in the Linux kernel. Please refer to
358 the [8]FAQ for additional information on this issue.
359 + Major revamp of GIV detection, combination and simplification
360 to improve loop performance.
361 + Major improvements to register allocation and reloading.
362 * New Languages and Language specific improvements
363 + [9]Many C++ improvements.
364 + [10]Many Fortran improvements.
365 + [11]Java front-end has been integrated. A [12]runtime library
366 is available separately.
367 + [13]ISO C99 support
368 + [14]Chill front-end and runtime has been integrated.
369 + Boehm garbage collector support in libobjc.
370 + More support for various pragmas which appear in vendor
372 * New Targets and Target Specific Improvements
373 + [15]Sparc backend rewrite.
374 + -mschedule=8000 will optimize code for PA8000 class
375 processors; -mpa-risc-2-0 will generate code for PA2.0
377 + Various micro-optimizations for the ia32 port. K6
379 + Compiler will attempt to align doubles in the stack on the
383 + RS6000/PowerPC: -mcpu=401 was added as an alias for
384 -mcpu=403. -mcpu=e603e was added to do -mcpu=603e and
390 + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix,
392 + vxWorks targets include support for vxWorks threads
393 + StrongARM 110 and ARM9 support added. ARM Scheduling
394 parameters rewritten.
395 + Various changes to the MIPS port to avoid assembler macros,
397 + Various performance improvements to the i960 port.
398 + Major rewrite of ns32k port in turn improves performance
399 * Other significant improvements
400 + [16]Ability to dump cfg information and display it using vcg.
401 + The new faster scheme for fixing vendor header files is
403 + Experimental internationalization support.
404 + multibyte character support
405 + Some compile-time speedups for pathological problems
406 + Better support for complex types
407 * Plus the usual mountain of bugfixes
408 * Core compiler is based on the gcc2 development tree from Sept 30,
409 1998, so we have all of the [17]features found in GCC 2.8.
410 _________________________________________________________________
414 Last modified 2000-12-04
418 1. http://gcc.gnu.org/news/spill.html
419 2. http://gcc.gnu.org/news/lcm.html
420 3. http://gcc.gnu.org/news/cprop.html
421 4. http://gcc.gnu.org/news/cfg.html
422 5. http://gcc.gnu.org/news/dse.html
423 6. http://gcc.gnu.org/news/hoist.html
424 7. http://gcc.gnu.org/news/alias.html
425 8. http://gcc.gnu.org/fom_serv/cache/24.html
426 9. http://gcc.gnu.org/gcc-2.95/c++features.html
427 10. http://gcc.gnu.org/onlinedocs/g77_news.html
428 11. http://sources.redhat.com/java/gcj-announce.txt
429 12. http://gcc.gnu.org/javaannounce.html
430 13. http://gcc.gnu.org/c99status.html
431 14. http://gcc.gnu.org/news/chill.html
432 15. http://gcc.gnu.org/news/sparc.html
433 16. http://gcc.gnu.org/news/egcs-vcg.html
434 17. http://gcc.gnu.org/egcs-1.0/features-2.8.html
435 18. http://gcc.gnu.org/about.html
436 ======================================================================
437 http://gcc.gnu.org/gcc-2.95/caveats.html
441 * GCC 2.95 will issue an error for invalid asm statements that had
442 been silently accepted by earlier versions of the compiler. This
443 is particularly noticeable when compiling older versions of the
444 Linux kernel (2.0.xx). Please refer to the [1]FAQ for more
445 information on this issue.
446 * GCC 2.95 implements type based alias analysis to disambiguate
447 memory references. Some programs, particularly the Linux kernel
448 violate ANSI/ISO aliasing rules and therefore may not operate
449 correctly when compiled with GCC 2.95. Please refer to the [2]FAQ
450 for more information on this issue.
451 * GCC 2.95 has a known bug in its handling of complex variables for
452 64bit targets. Instead of silently generating incorrect code, GCC
453 2.95 will issue a fatal error for situations it can not handle.
454 This primarily affects the Fortran community as Fortran makes more
455 use of complex variables than C or C++.
456 * GCC 2.95 has an integrated libstdc++, but does not have an
457 integrated libg++. Furthermore old libg++ releases will not work
458 with GCC 2.95. You can retrieve a recent copy of libg++ from the
460 Note most C++ programs only need libstdc++.
461 * Exception handling may not work with shared libraries,
462 particularly on alphas, hppas, rs6000/powerpc and mips based
463 platforms. Exception handling is known to work on x86 GNU/Linux
464 platforms with shared libraries.
465 * In general, GCC 2.95 is more rigorous about rejecting invalid C++
466 code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0,
467 or EGCS 1.1. As a result it may be necessary to fix C++ code
468 before it will compile with GCC 2.95.
469 * G++ is also converting toward the ISO C++ standard; as a result
470 code which was previously valid (and thus accepted by other
471 compilers and older versions of g++) may no longer be accepted.
472 The flag -fpermissive may allow some non-conforming code to
473 compile with GCC 2.95.
474 * GCC 2.95 compiled C++ code is not binary compatible with EGCS
475 1.1.x, EGCS 1.0.x or GCC 2.8.x.
476 * GCC 2.95 does not have changes from the GCC 2.8 tree that were
477 made between Sept 30, 1998 and April 30, 1999 (the official end of
478 the GCC 2.8 project). Future GCC releases will include all the
479 changes from the defunct GCC 2.8 sources.
480 _________________________________________________________________
484 Last modified 2000-11-10
488 1. http://gcc.gnu.org/faq.html#asmclobber
489 2. http://gcc.gnu.org/fom_serv/cache/24.html
490 3. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
491 4. http://gcc.gnu.org/about.html
492 ======================================================================
493 http://gcc.gnu.org/egcs-1.1/egcs-1.1.2.html
499 We are pleased to announce the release of EGCS 1.1.2.
501 EGCS is a collaborative effort involving several groups of hackers
502 using an open development model to accelerate development and testing
503 of GNU compilers and runtime libraries.
505 EGCS 1.1.2 is a minor update to the EGCS 1.1.1 compiler to fix several
506 serious problems in EGCS 1.1.1.
507 * General improvements and fixes
508 + Fix bug in loop optimizer which caused the SPARC (and
509 potentially other) ports to segfault.
510 + Fix infinite recursion in alias analysis and combiner code.
511 + Fix bug in regclass preferencing.
512 + Fix incorrect loop reversal which caused incorrect code to be
513 generated for several targets.
514 + Fix return value for builtin memcpy.
515 + Reduce compile time for certain loops which exposed quadratic
516 behavior in the loop optimizer.
517 + Fix bug which caused volatile memory to be written multiple
518 times when only one write was needed/desired.
519 + Fix compiler abort in caller-save.c
520 + Fix combiner bug which caused incorrect code generation for
521 certain division by constant operations.
522 + Fix incorrect code generation due to a bug in range check
524 + Fix incorrect code generation due to mis-handling of
525 clobbered values in CSE.
526 + Fix compiler abort/segfault due to incorrect register
527 splitting when unrolling loops.
528 + Fix code generation involving autoincremented addresses with
530 + Work around bug in the scheduler which caused qt to be
531 mis-compiled on some platforms.
532 + Fix code generation problems with -fshort-enums.
533 + Tighten security for temporary files.
534 + Improve compile time for codes which make heavy use of
535 overloaded functions.
536 + Fix multiply defined constructor/destructor symbol problems.
537 + Avoid setting bogus RPATH environemnt variable during
539 + Avoid GNU-make dependencies in the texinfo subdir.
540 + Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
541 --enable-cpp= can be used to specify an additional install
542 directory for the cpp wrapper script.
543 + Fix CSE bug which caused incorrect label-label refs to appear
545 + Avoid linking in EH routines from libgcc if they are not
547 + Avoid obscure bug in aliasing code.
548 + Fix bug in weak symbol handling.
549 * Platform-specific improvements and fixes
550 + Fix detection of PPro/PII on Unixware 7.
551 + Fix compiler segfault when building spec99 and other programs
553 + Fix code-generation bugs for integer and floating point
554 conditional move instructions on the PPro/PII.
555 + Use fixincludes to fix byteorder problems on i?86-*-sysv.
556 + Fix build failure for the arc port.
557 + Fix floating point format configuration for i?86-gnu port
558 + Fix problems with hppa1.0-hp-hpux10.20 configuration when
560 + Fix coldfire code generation bugs.
561 + Fix "unrecognized insn" problems for Alpha and PPC ports.
562 + Fix h8/300 code generation problem with floating point values
564 + Fix unrecognized insn problems for the m68k port.
565 + Fix namespace-pollution problem for the x86 port.
566 + Fix problems with old assembler on x86 NeXT systems.
567 + Fix PIC code-generation problems for the SPARC port.
568 + Fix minor bug with LONG_CALLS in PowerPC SVR4 support.
569 + Fix minor ISO namespace violation in Alpha varargs/stdarg
571 + Fix incorrect "braf" instruction usage for the SH port.
572 + Fix minor bug in va-sh which prevented its use with -ansi.
573 + Fix problems recognizing and supporting FreeBSD.
574 + Handle OpenBSD systems correctly.
575 + Minor fixincludes fix for Digital UNIX 4.0B.
576 + Fix problems with ctors/dtors in SCO shared libraries.
577 + Abort instead of generating incorrect code for PPro/PII
578 floating point conditional moves.
579 + Avoid multiply defined symbols on Linux/GNU systems using
581 + Fix abort in alpha compiler.
583 Fortran-specific fixes
584 * Fix the IDate intrinsic (VXT) (in libg2c) so the returned year is
585 in the documented, non-Y2K-compliant range of 0-99, instead of
586 being returned as 100 in the year 2000.
587 * Fix the `Date_and_Time' intrinsic (in libg2c) to return the
588 milliseconds value properly in Values(8).
589 * Fix the `LStat' intrinsic (in libg2c) to return device-ID
590 information properly in SArray(7).
592 An important goal of EGCS is to allow wide scale testing of new
593 features and optimizations which are still under development. However,
594 EGCS has been carefully tested and should be comparable in quality to
597 EGCS 1.1.2 is based on the June 6, 1998 snapshot of the GCC 2.8
598 development sources; it contains all of the new features found in GCC
599 2.8.1 as well as all new development from gcc2 up to June 6, 1998.
601 See the [1]new features page for a more complete list of new features
602 found in EGCS 1.1 releases.
604 The EGCS 1.1.2 release includes installation instructions in both HTML
605 and plaintext forms (see the INSTALL directory in the toplevel
606 directory of the EGCS 1.1.2 distribution). However, we also keep the
607 most up to date [2]installation instructions and [3]build/test status
608 on our web page. We will update those pages as new information becomes
611 The EGCS project would like to thank the numerous people that have
612 contributed new features, test results, bugfixes, etc. This [4]amazing
613 group of volunteers is what makes EGCS successful.
615 And finally, we can't in good conscience fail to mention some
616 [5]caveats to using EGCS 1.1.2. [6]Download EGCS 1.1.2 from
617 egcs.cygnus.com (USA California) -->
619 [7]Download EGCS 1.1.2 from go.cygnus.com (USA California - High speed
620 link provided by Stanford)
622 The EGCS 1.1.2 release is also available on many [8]mirror sites.
623 _________________________________________________________________
625 Last modified on July 28, 1999.
629 1. http://gcc.gnu.org/egcs-1.1/features.html
630 2. http://gcc.gnu.org/install/index.html
631 3. http://gcc.gnu.org/egcs-1.1/buildstat.html
632 4. http://gcc.gnu.org/thanks.html
633 5. http://gcc.gnu.org/egcs-1.1/caveats.html
634 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
635 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
636 8. http://gcc.gnu.org/mirrors.html
637 ======================================================================
638 http://gcc.gnu.org/egcs-1.1/egcs-1.1.1.html
644 We are pleased to announce the release of EGCS 1.1.1.
646 EGCS is a collaborative effort involving several groups of hackers
647 using an open development model to accelerate development and testing
648 of GNU compilers and runtime libraries.
650 EGCS 1.1.1 is a minor update to the EGCS 1.1 compiler to fix several
651 serious problems in EGCS 1.1.
652 * General improvements and fixes
653 + Avoid some stack overflows when compiling large functions.
654 + Avoid incorrect loop invariant code motions.
655 + Fix some core dumps on Linux kernel code.
656 + Bring back the imake -Di386 and friends fix from EGCS 1.0.2.
657 + Fix code generation problem in gcse.
658 + Various documentation related fixes.
659 * g++/libstdc++ improvements and fixes
660 + MT safe EH fix for setjmp/longjmp based exception handling.
661 + Fix a few bad interactions between optimization and exception
663 + Fixes for demangling of template names starting with "__".
664 + Fix a bug that would fail to run destructors in some cases
666 + Fix 'new' of classes with virtual bases.
667 + Fix crash building Qt on the Alpha.
668 + Fix failure compiling WIFEXITED macro on GNU/Linux.
669 + Fix some -frepo failures.
670 * g77 and libf2c improvements and fixes
671 + Various documentation fixes.
672 + Avoid compiler crash on RAND intrinsic.
673 + Fix minor bugs in makefiles exposed by BSD make programs.
674 + Define _XOPEN_SOURCE for libI77 build to avoid potential
675 problems on some 64-bit systems.
676 + Fix problem with implicit endfile on rewind.
677 + Fix spurious recursive I/O errors.
678 * platform specific improvements and fixes
679 + Match all versions of UnixWare7.
680 + Do not assume x86 SVR4 or UnixWare targets can handle stabs
681 + Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
682 from unsigned ints to double precision floats.
683 + Fix ARM ABI issue with NetBSD.
684 + Fix a few arm code generation bugs.
685 + Fixincludes will fix additional broken SCO OpenServer header
687 + Fix a m68k backend bug which caused invalid offsets in reg+d
689 + Fix problems with 64bit AIX 4.3 support.
690 + Fix handling of long longs for varargs/stdarg functions on
692 + Minor fixes to CPP predefines for Windows.
693 + Fix code generation problems with gpr<->fpr copies for 64bit
695 + Fix a few coldfire code generation bugs.
696 + Fix some more header file problems on SunOS 4.x
697 + Fix assert.h handling for RTEMS.
698 + Fix Windows handling of TREE_SYMBOL_REFERENCED.
699 + Fix x86 compiler abort in reg-stack pass.
700 + Fix cygwin/windows problem with section attributes.
701 + Fix Alpha code generation problem exposed by SMP Linux
703 + Fix typo in m68k 32->64bit integer conversion.
704 + Make sure target libraries build with -fPIC for PPC & Alpha
707 An important goal of EGCS is to allow wide scale testing of new
708 features and optimizations which are still under development. However,
709 EGCS has been carefully tested and should be comparable in quality to
712 EGCS 1.1.1 is based on the June 6, 1998 snapshot of the GCC 2.8
713 development sources; it contains all of the new features found in GCC
714 2.8.1 as well as all new development from gcc2 up to June 6, 1998.
716 See the [1]new features page for a more complete list of new features
717 found in EGCS 1.1 releases.
719 The EGCS 1.1.1 release includes installation instructions in both HTML
720 and plaintext forms (see the INSTALL directory in the toplevel
721 directory of the EGCS 1.1.1 distribution). However, we also keep the
722 most up to date [2]installation instructions and [3]build/test status
723 on our web page. We will update those pages as new information becomes
726 The EGCS project would like to thank the numerous people that have
727 contributed new features, test results, bugfixes, etc. This [4]amazing
728 group of volunteers is what makes EGCS successful.
730 And finally, we can't in good conscience fail to mention some
731 [5]caveats to using EGCS 1.1.1.
733 [6]Download EGCS 1.1.1 from egcs.cygnus.com (USA California)
735 The EGCS 1.1.1 release is also available on many mirror sites.
736 [7]Goto mirror list to find a closer site
737 _________________________________________________________________
739 Last modified on July 28, 1999.
743 1. http://gcc.gnu.org/egcs-1.1/features.html
744 2. http://gcc.gnu.org/install/index.html
745 3. http://gcc.gnu.org/egcs-1.1/buildstat.html
746 4. http://gcc.gnu.org/thanks.html
747 5. http://gcc.gnu.org/egcs-1.1/caveats.html
748 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
749 7. http://gcc.gnu.org/mirrors.html
750 ======================================================================
751 http://gcc.gnu.org/egcs-1.1/egcs-1.1.html
757 We are pleased to announce the release of EGCS 1.1.
759 EGCS is a free software project to further the development of the GNU
760 compilers using an open development environment.
762 EGCS 1.1 is a major new release of the EGCS compiler system. It has
763 been [1]extensively tested and is believed to be stable and suitable
766 EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8
767 development sources; it contains all of the new features found in GCC
768 2.8.1 as well as all new development from GCC up to June 6, 1998.
770 EGCS also contains many improvements and features not found in GCC or
771 in older versions of EGCS.
772 * Global common subexpression elimination and global constant/copy
773 propagation (aka [2]gcse)
774 * Ongoing improvements to the [3]alias analysis support to allow for
775 better optimizations throughout the compiler.
776 * Vastly improved [4]C++ compiler and integrated C++ runtime
778 * Fixes for the /tmp symlink race security problems.
779 * New targets including mips16, arm-thumb and 64 bit PowerPC.
780 * Improvements to GNU Fortran (g77) compiler and runtime library
781 made since [5]g77 version 0.5.23.
783 See the [6]new features page for a more complete list of new features
784 found in EGCS 1.1 releases.
786 The EGCS 1.1 release includes installation instructions in both HTML
787 and plaintext forms (see the INSTALL directory in the toplevel
788 directory of the EGCS 1.1 distribution). However, we also keep the
789 most up to date [7]installation instructions and [8]build/test status
790 on our web page. We will update those pages as new information becomes
793 The EGCS project would like to thank the numerous people that have
794 contributed new features, test results, bugfixes, etc. This [9]amazing
795 group of volunteers is what makes EGCS successful.
797 And finally, we can't in good conscience fail to mention some
798 [10]caveats to using EGCS 1.1.
800 [11]Download EGCS 1.1 from egcs.cygnus.com (USA California)
802 [12]Download EGCS 1.1 from go.cygnus.com (USA California -- High speed
803 link provided by Stanford)
805 The EGCS 1.1 release is also available on many mirror sites.
806 [13]Goto mirror list to find a closer site
807 _________________________________________________________________
809 Last modified on September 4, 1999.
813 1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
814 2. http://gcc.gnu.org/news/gcse.html
815 3. http://gcc.gnu.org/news/alias.html
816 4. http://gcc.gnu.org/egcs-1.1/c++features.html
817 5. http://gcc.gnu.org/onlinedocs/g77_news.html
818 6. http://gcc.gnu.org/egcs-1.1/features.html
819 7. http://gcc.gnu.org/install/index.html
820 8. http://gcc.gnu.org/egcs-1.1/buildstat.html
821 9. http://gcc.gnu.org/thanks.html
822 10. http://gcc.gnu.org/egcs-1.1/caveats.html
823 11. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
824 12. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
825 13. http://gcc.gnu.org/mirrors.html
826 ======================================================================
827 http://gcc.gnu.org/egcs-1.1/features.html
829 EGCS 1.1 new features
831 * Integrated GNU Fortran (g77) compiler and runtime library with
832 improvements, based on [1]g77 version 0.5.23.
833 * Vast improvements in the C++ compiler; so many they have [2]page
835 * Compiler implements [3]global common subexpression elimination and
836 global copy/constant propagation.
837 * More major improvements in the [4]alias analysis code.
838 * More major improvements in the exception handling code to improve
839 performance, lower static overhead and provide the infrastructure
840 for future improvements.
841 * The infamous /tmp symlink race security problems have been fixed.
842 * The regmove optimization pass has been nearly completely rewritten
843 to improve performance of generated code.
844 * The compiler now recomputes register usage information before
845 local register allocation. By providing more accurate information
846 to the priority based allocator, we get better register
848 * The register reloading phase of the compiler optimizes spill code
849 much better than in previous releases.
850 * Some bad interactions between the register allocator and
851 instruction scheduler have been fixed, resulting in much better
852 code for certain programs. Additionally, we have tuned the
853 scheduler in various ways to improve performance of generated code
854 for some architectures.
855 * The compiler's branch shortening algorithms have been
856 significantly improved to work better on targets which align jump
858 * The compiler now supports -Os to prefer optimizing for code space
859 over optimizing for code speed.
860 * The compiler will now totally eliminate library calls which
861 compute constant values. This primarily helps targets with no
862 integer div/mul support and targets without floating point
864 * The compiler now supports an extensive "--help" option.
865 * cpplib has been greatly improved and may be suitable for limited
867 * Memory footprint for the compiler has been significantly reduced
868 for some pathological cases.
869 * The time to build EGCS has been improved for certain targets
870 (particularly the alpha and mips platforms).
871 * Many infrastructure improvements throughout the compiler, plus the
872 usual mountain of bugfixes and minor improvements.
873 * Target dependent improvements:
874 + SPARC port now includes V8 plus and V9 support as well as
875 performance tuning for Ultra class machines. The SPARC port
876 now uses the Haifa scheduler.
877 + Alpha port has been tuned for the EV6 processor and has an
878 optimized expansion of memcpy/bzero. The Alpha port now uses
880 + RS6000/PowerPC: EGCS 1.1 includes support for the Power64
881 architecture and aix4.3 support. The RS6000/PowerPC port now
882 uses the Haifa scheduler.
883 + x86: Alignment of static store data and jump targets is per
884 Intel recommendations now. Various improvements throughout
885 the x86 port to improve performance on Pentium processors.
886 Conditional move support has been fixed and enabled for PPro
887 processors. The x86 port also better supports 64bit
889 + MIPS has improved multiply/multiply-add support and now
890 includes mips16 ISA support.
891 + M68k has many micro-optimizations and Coldfire fixes.
892 * Core compiler is based on the GCC development tree from June 9,
893 1998, so we have all of the [5]features found in GCC 2.8.
895 [6]Return to the EGCS home page
897 Last modified: September 4, 1999
901 1. http://gcc.gnu.org/onlinedocs/g77_news.html
902 2. http://gcc.gnu.org/egcs-1.1/c++features.html
903 3. http://gcc.gnu.org/news/gcse.html
904 4. http://gcc.gnu.org/news/alias.html
905 5. http://gcc.gnu.org/egcs-1.0/features-2.8.html
906 6. http://gcc.gnu.org/index.html
907 ======================================================================
908 http://gcc.gnu.org/egcs-1.1/caveats.html
912 * EGCS has an integrated libstdc++, but does not have an integrated
913 libg++. Furthermore old libg++ releases will not work with EGCS;
914 HJ Lu has made a [1]libg++ snapshot available which may work with
916 Note most C++ programs only need libstdc++.
917 * Exception handling may not work with shared libraries,
918 particularly on alphas, hppas, rs6000/powerpc and mips based
919 platforms. Exception handling is known to work on x86-linux
920 platforms with shared libraries.
921 * Some versions of the Linux kernel have bugs which prevent them
922 from being compiled or from running when compiled by EGCS. See
923 [2]the FAQ for additional information.
924 * In general, EGCS is more rigorous about rejecting invalid C++ code
925 or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As
926 a result it may be necessary to fix C++ code before it will
928 * G++ is also converting toward the ISO C++ standard; as a result
929 code which was previously valid (and thus accepted by other
930 compilers and older versions of g++) may no longer be accepted.
931 * EGCS 1.1 compiled C++ code is not binary compatible with EGCS
932 1.0.x or GCC 2.8.x due to changes necessary to support thread safe
935 [3]Return to the GCC home page
937 Last modified: July 28, 1999
941 1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
942 2. http://gcc.gnu.org/faq.html#linuxkernel
943 3. http://gcc.gnu.org/index.html
944 ======================================================================
945 http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html
951 We are pleased to announce the release of EGCS 1.0.3.
953 EGCS is a collaborative effort involving several groups of hackers
954 using an open development model to accelerate development and testing
955 of GNU compilers and runtime libraries.
957 EGCS 1.0.3 is a minor update to the EGCS 1.0.2 compiler to fix a few
958 problems reported by Red Hat for builds of Red Hat 5.1.
960 + Fix a typo in the libio library which resulted in incorrect
961 behavior of istream::get.
962 + Fix the Fortran negative array index problem.
963 + Fix a major problem with the ObjC runtime thread support
965 + Reduce memory consumption of the Haifa scheduler.
966 * Target specific bugfixes:
967 + Fix one x86 floating point code generation bug exposed by
969 + Fix one x86 internal compiler error exposed by glibc2 builds.
970 + Fix profiling bugs on the Alpha.
971 + Fix ImageMagick & emacs 20.2 build problems on the Alpha.
972 + Fix rs6000/ppc bug when converting values from integer types
973 to floating point types.
975 An important goal of EGCS is to allow wide scale testing of new
976 features and optimizations which are still under development. However,
977 EGCS has been carefully tested and should be comparable in quality to
980 EGCS 1.0.3 is based on an August 2, 1997 snapshot of the GCC 2.8
981 development sources; it contains nearly all of the new features found
984 EGCS also contains many improvements and features not found in GCC 2.7
986 * Integrated C++ runtime libraries, including support for most major
988 * The integrated libstdc++ library includes a verbatim copy of
989 [1]SGI's STL release instead of a modified copy.
990 * Integrated GNU Fortran compiler
991 * New instruction scheduler
992 * New alias analysis code
994 See the [2]new features page for a more complete list of new features
995 found in EGCS 1.0.x releases.
997 The EGCS 1.0.3 release includes installation instructions in both HTML
998 and plaintext forms (see the INSTALL directory in the toplevel
999 directory of the EGCS 1.0.3 distribution). However, we also keep the
1000 most up to date [3]installation instructions and [4]build/test status
1001 on our web page. We will update those pages as new information becomes
1004 And, we can't in good conscience fail to mention some [5]caveats to
1007 Update: Big thanks to Stanford for providing a high speed link for
1008 downloading EGCS (go.cygnus.com)!
1010 [6]Download EGCS 1.0.3 from ftp.cygnus.com (USA California)
1012 [7]Download EGCS 1.0.3 from go.cygnus.com (USA California -- High
1013 speed link provided by Stanford)
1015 The EGCS 1.0.3 release is also available on many mirror sites.
1016 [8]Goto mirror list to find a closer site
1018 We'd like to thank the numerous people that have contributed new
1019 features, test results, bugfixes, etc. Unfortunately, they're far too
1020 numerous to mention by name.
1021 _________________________________________________________________
1023 Last modified on February 22, 1999.
1027 1. http://www.sgi.com/Technology/STL
1028 2. http://gcc.gnu.org/egcs-1.0/features.html
1029 3. http://gcc.gnu.org/install/index.html
1030 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1031 5. http://gcc.gnu.org/egcs-1.0/caveats.html
1032 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1033 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1034 8. http://gcc.gnu.org/mirrors.html
1035 ======================================================================
1036 http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html
1042 We are pleased to announce the release of EGCS 1.0.2.
1044 EGCS is a collaborative effort involving several groups of hackers
1045 using an open development model to accelerate development and testing
1046 of GNU compilers and runtime libraries.
1048 EGCS 1.0.2 is a minor update to the EGCS 1.0.1 compiler to fix several
1049 serious problems in EGCS 1.0.1.
1050 * General improvements and fixes
1051 + Memory consumption significantly reduced, especially for
1052 templates and inline functions.
1053 + Fix various problems with glibc2.1.
1054 + Fix loop optimization bug exposed by rs6000/ppc port.
1055 + Fix to avoid potential code generation problems in jump.c.
1056 + Fix some undefined symbol problems in dwarf1 debug support.
1057 * g++/libstdc++ improvements and fixes
1058 + libstdc++ in the EGCS release has been updated and should be
1059 link compatible with libstdc++-2.8.
1060 + Various fixes in libio/libstdc++ to work better on Linux
1062 + Fix problems with duplicate symbols on systems that do not
1063 support weak symbols.
1064 + Memory corruption bug and undefined symbols in bastring have
1066 + Various exception handling fixes.
1067 + Fix compiler abort for very long thunk names.
1068 * g77 improvements and fixes
1069 + Fix compiler crash for omitted bound in Fortran CASE
1071 + Add missing entries to g77 lang-options.
1072 + Fix problem with -fpedantic in the g77 compiler.
1073 + Fix "backspace" problem with g77 on alphas.
1074 + Fix x86 backend problem with Fortran literals and -fpic.
1075 + Fix some of the problems with negative subscripts for g77 on
1077 + Fixes for Fortran builds on cygwin32/mingw32.
1078 * platform specific improvements and fixes
1079 + Fix long double problems on x86 (exposed by glibc)
1080 + x86 ports define i386 again to keep imake happy.
1081 + Fix exception handling support on NetBSD ports.
1082 + Several changes to collect2 to fix many problems with AIX.
1083 + Define __ELF__ for rs6000/linux.
1084 + Fix -mcall-linux problem on rs6000/linux.
1085 + Fix stdarg/vararg problem for rs6000/linux.
1086 + Allow autoconf to select a proper install problem on AIX 3.1.
1087 + m68k port support includes -mcpu32 option as well as cpu32
1089 + Fix stdarg bug for irix6.
1090 + Allow EGCS to build on irix5 without the gnu assembler.
1091 + Fix problem with static linking on sco5.
1092 + Fix bootstrap on sco5 with native compiler.
1093 + Fix for abort building newlib on H8 target.
1094 + Fix fixincludes handling of math.h on SunOS.
1095 + Minor fix for motorola 3300 m68k systems.
1097 An important goal of EGCS is to allow wide scale testing of new
1098 features and optimizations which are still under development. However,
1099 EGCS has been carefully tested and should be comparable in quality to
1102 EGCS 1.0.2 is based on an August 2, 1997 snapshot of the GCC 2.8
1103 development sources; it contains nearly all of the new features found
1106 EGCS also contains many improvements and features not found in GCC 2.7
1108 * Integrated C++ runtime libraries, including support for most major
1110 * The integrated libstdc++ library includes a verbatim copy of
1111 [1]SGI's STL release.
1112 * Integrated GNU Fortran compiler
1113 * New instruction scheduler
1114 * New alias analysis code
1116 See the [2]new features page for a more complete list of new features
1117 found in EGCS 1.0.x releases.
1119 The EGCS 1.0.2 release includes installation instructions in both HTML
1120 and plaintext forms (see the INSTALL directory in the toplevel
1121 directory of the EGCS 1.0.2 distribution). However, we also keep the
1122 most up to date [3]installation instructions and [4]build/test status
1123 on our web page. We will update those pages as new information becomes
1126 And, we can't in good conscience fail to mention some [5]caveats to
1129 Update: Big thanks to Stanford for providing a high speed link for
1130 downloading EGCS (go.cygnus.com)!
1132 [6]Download EGCS 1.0.2 from ftp.cygnus.com (USA California)
1134 [7]Download EGCS 1.0.2 from go.cygnus.com (USA California -- High
1135 speed link provided by Stanford)
1137 The EGCS 1.0.2 release is also available on many mirror sites.
1138 [8]Goto mirror list to find a closer site
1140 We'd like to thank the numerous people that have contributed new
1141 features, test results, bugfixes, etc. Unfortunately, they're far too
1142 numerous to mention by name.
1143 _________________________________________________________________
1145 Last modified on July 28, 1999.
1149 1. http://www.sgi.com/Technology/STL/
1150 2. http://gcc.gnu.org/egcs-1.0/features.html
1151 3. http://gcc.gnu.org/install/index.html
1152 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1153 5. http://gcc.gnu.org/egcs-1.0/caveats.html
1154 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1155 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1156 8. http://gcc.gnu.org/mirrors.html
1157 ======================================================================
1158 http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html
1164 We are pleased to announce the release of EGCS 1.0.1.
1166 EGCS is a collaborative effort involving several groups of hackers
1167 using an open development model to accelerate development and testing
1168 of GNU compilers and runtime libraries.
1170 EGCS 1.0.1 is a minor update to the EGCS 1.0 compiler to fix a few
1171 critical bugs and add support for Red Hat 5.0 Linux. Changes since the
1173 * Add support for Red Hat 5.0 Linux and better support for Linux
1174 systems using glibc2.
1175 Many programs failed to link when compiled with EGCS 1.0 on Red
1176 Hat 5.0 or on systems with newer versions of glibc2. EGCS 1.0.1
1177 should fix these problems.
1178 * Compatability with both EGCS 1.0 and GCC 2.8 libgcc exception
1179 handling interfaces.
1180 To avoid future compatibility problems, we strongly urge anyone
1181 who is planning on distributing shared libraries that contain C++
1182 code to upgrade to EGCS 1.0.1 first.
1183 Soon after EGCS 1.0 was released, the GCC developers made some
1184 incompatible changes in libgcc's exception handling interfaces.
1185 These changes were needed to solve problems on some platforms.
1186 This means that GCC 2.8.0, when released, will not be seamlessly
1187 compatible with shared libraries built by EGCS 1.0. The reason is
1188 that the libgcc.a in GCC 2.8.0 will not contain a function needed
1189 by the old interface.
1190 The result of this is that there may be compatibility problems
1191 with shared libraries built by EGCS 1.0 when used with GCC 2.8.0.
1192 With EGCS 1.0.1, generated code uses the new (GCC 2.8.0)
1193 interface, and libgcc.a has the support routines for both the old
1194 and the new interfaces (so EGCS 1.0.1 and EGCS 1.0 code can be
1195 freely mixed, and EGCS 1.0.1 and GCC 2.8.0 code can be freely
1197 The maintainers of GCC 2.x have decided against including seamless
1198 support for the old interface in 2.8.0, since it was never
1199 "official", so to avoid future compatibility problems we recommend
1200 against distributing any shared libraries built by EGCS 1.0 that
1201 contain C++ code (upgrade to 1.0.1 and use that).
1202 * Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
1203 The x86 changes fix code generation errors exposed when building
1204 glibc2 and the Linux dynamic linker (ld.so).
1205 The hppa change fixes a compiler abort when configured for use
1207 The MIPS changes fix problems with the definition of LONG_MAX on
1208 newer systems, allow for command line selection of the target ABI,
1209 and fix one code generation problem.
1210 The rs6000/ppc change fixes some problems with passing structures
1211 to varargs/stdarg functions.
1212 * A few machine independent bugfixes, mostly to fix code generation
1213 errors when building Linux kernels or glibc.
1214 * Fix a few critical exception handling and template bugs in the C++
1216 * Fix Fortran namelist bug on alphas.
1217 * Fix build problems on x86-solaris systems.
1219 An important goal of EGCS is to allow wide scale testing of new
1220 features and optimizations which are still under development. However,
1221 EGCS has been carefully tested and should be comparable in quality to
1224 EGCS 1.0.1 is based on an August 2, 1997 snapshot of the GCC 2.8
1225 development sources; it contains nearly all of the new features found
1228 EGCS also contains many improvements and features not found in GCC 2.7
1229 and even the soon to be released GCC 2.8 compilers.
1230 * Integrated C++ runtime libraries, including support for most major
1232 * The integrated libstdc++ library includes a verbatim copy of
1233 [1]SGI's STL release.
1234 * Integrated GNU Fortran compiler
1235 * New instruction scheduler
1236 * New alias analysis code
1238 See the [2]new features page for a more complete list of new features
1239 found in EGCS 1.0.x releases.
1241 The EGCS 1.0.1 release includes installation instructions in both HTML
1242 and plaintext forms (see the INSTALL directory in the toplevel
1243 directory of the EGCS 1.0.1 distribution). However, we also keep the
1244 most up to date [3]installation instructions and [4]build/test status
1245 on our web page. We will update those pages as new information becomes
1248 And, we can't in good conscience fail to mention some [5]caveats to
1251 Update: Big thanks to Stanford for providing a high speed link for
1252 downloading EGCS (go.cygnus.com)!
1254 [6]Download EGCS 1.0.1 from ftp.cygnus.com (USA California)
1256 [7]Download EGCS 1.0.1 from go.cygnus.com (USA California -- High
1257 speed link provided by Stanford)
1259 The EGCS 1.0.1 release is also available on many mirror sites.
1260 [8]Goto mirror list to find a closer site
1262 We'd like to thank the numerous people that have contributed new
1263 features, test results, bugfixes, etc. Unfortunately, they're far too
1264 numerous to mention by name.
1265 _________________________________________________________________
1267 Last modified on July 28, 1999.
1271 1. http://www.sgi.com/Technology/STL/
1272 2. http://gcc.gnu.org/egcs-1.0/features.html
1273 3. http://gcc.gnu.org/install/index.html
1274 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1275 5. http://gcc.gnu.org/egcs-1.0/caveats.html
1276 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1277 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1278 8. http://gcc.gnu.org/mirrors.html
1279 ======================================================================
1280 http://gcc.gnu.org/egcs-1.0/egcs-1.0.html
1286 We are pleased to announce the release of EGCS 1.0.
1288 EGCS is a collaborative effort involving several groups of hackers
1289 using an open development model to accelerate development and testing
1290 of GNU compilers and runtime libraries.
1292 An important goal of EGCS is to allow wide scale testing of
1293 experimental features and optimizations; therefore, EGCS contains some
1294 features and optimizations which are still under development. However,
1295 EGCS has been carefully tested and should be comparable in quality to
1298 EGCS 1.0 is based on an August 2, 1997 snapshot of the GCC 2.8
1299 development sources; it contains nearly all of the new features found
1302 EGCS 1.0 also contains many improvements and features not found in GCC
1303 2.7 and even the soon to be released GCC 2.8 compilers.
1304 * Integrated C++ runtime libraries, including support for most major
1306 * The integrated libstdc++ library includes a verbatim copy of
1307 [1]SGI's STL release.
1308 * Integrated GNU Fortran compiler
1309 * New instruction scheduler
1310 * New alias analysis code
1312 See the [2]new features page for a more complete list of new features.
1314 The EGCS 1.0 release includes installation instructions in both HTML
1315 and plaintext forms (see the INSTALL directory in the toplevel
1316 directory of the EGCS 1.0 distribution). However, we also keep the
1317 most up to date [3]installation instructions and [4]build/test status
1318 on our web page. We will update those pages as new information becomes
1321 And, we can't in good conscience fail to mention some [5]caveats to
1324 Update: The T1 into our main California offices has been 100%
1325 saturated since shortly after the release. We've added an EGCS 1.0
1326 mirror at our Massachusetts office to help share the load. We also
1327 encourage folks to use the many mirrors available throughout the
1330 Update: Big thanks to Stanford for providing a high speed link for
1331 downloading EGCS! (go.cygnus.com)
1333 [6]Download EGCS 1.0 from ftp.cygnus.com (USA California)
1335 [7]Download EGCS 1.0 from go.cygnus.com (USA California -- High speed
1336 link provided by Stanford)
1338 The EGCS 1.0 release should be available on most mirror sites by now.
1339 [8]Goto mirror list to find a closer site
1341 We'd like to thank the numerous people that have contributed new
1342 features, test results, bugfixes, etc. Unfortunately, they're far too
1343 numerous to mention by name.
1344 _________________________________________________________________
1346 Last modified on July 28, 1999.
1350 1. http://www.sgi.com/Technology/STL
1351 2. http://gcc.gnu.org/egcs-1.0/features.html
1352 3. http://gcc.gnu.org/install/index.html
1353 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1354 5. http://gcc.gnu.org/egcs-1.0/caveats.html
1355 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1356 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1357 8. http://gcc.gnu.org/mirrors.html
1358 ======================================================================
1359 http://gcc.gnu.org/egcs-1.0/features.html
1363 * Core compiler is based on the gcc2 development tree from Aug 2,
1364 1997, so we have most of the [1]features found in GCC 2.8.
1365 * Integrated GNU Fortran compiler based on g77-0.5.22-19970929.
1366 * Vast improvements in the C++ compiler; so many they have [2]page
1368 * Integrated C++ runtime libraries, including support for most major
1370 * New instruction scheduler from IBM Haifa which includes support
1371 for function wide instruction scheduling as well as superscalar
1373 * Significantly improved alias analysis code.
1374 * Improved register allocation for two address machines.
1375 * Significant code generation improvements for Fortran code on
1377 * Various optimizations from the g77 project as well as improved
1379 * Dwarf2 debug format support for some targets.
1380 * egcs libstdc++ includes the SGI STL implementation without
1382 * As a result of these and other changes, egcs libstc++ is not
1383 binary compatible with previous releases of libstdc++.
1384 * Various new ports -- UltraSPARC, Irix6.2 & Irix6.3 support, The
1385 SCO Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0
1386 and 1.1), Support for RTEMS on several embedded targets, Support
1387 for arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
1388 MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
1389 * Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
1390 * RS6000/PowerPC ports generate code which can run on all
1391 RS6000/PowerPC variants by default.
1392 * -mcpu= and -march= switches for the x86 port to allow better
1393 control over how the x86 port generates code.
1394 * Includes the template repository patch (aka repo patch); note the
1395 new template code makes repo obsolete for ELF systems using gnu-ld
1397 * Plus the usual assortment of bugfixes and improvements.
1399 [3]Return to the egcs home page
1401 Last modified: July 28, 1999
1405 1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
1406 2. http://gcc.gnu.org/egcs-1.0/c++features.html
1407 3. http://gcc.gnu.org/index.html
1408 ======================================================================
1409 http://gcc.gnu.org/egcs-1.0/caveats.html
1413 * EGCS has an integrated libstdc++, but does not have an integrated
1414 libg++. Furthermore old libg++ releases will not work with egc; HJ
1415 Lu has made a [1]libg++ snapshot available which may work with
1417 Note most C++ programs only need libstdc++.
1418 * Note that using -pedantic or -Wreturn-type can cause an explosion
1419 in the amount of memory needed for template-heavy C++ code, such
1420 as code that uses STL. Also note that -Wall includes
1421 -Wreturn-type, so if you use -Wall you will need to specify
1422 -Wno-return-type to turn it off.
1423 * Exception handling may not work with shared libraries,
1424 particularly on alphas, hppas, and mips based platforms. Exception
1425 handling is known to work on x86-linux platforms with shared
1427 * Some versions of the Linux kernel have bugs which prevent them
1428 from being compiled or from running when compiled by EGCS. See
1429 [2]the FAQ for additional information.
1430 * In general, EGCS is more rigorous about rejecting invalid C++ code
1431 or deprecated C++ constructs than G++ 2.7. As a result it may be
1432 necessary to fix C++ code before it will compile with EGCS.
1433 * G++ is also aggressively tracking the C++ standard; as a result
1434 code which was previously valid (and thus accepted by other
1435 compilers and older versions of G++) may no longer be accepted.
1436 * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS
1437 1.0.x and later releases should work with Red Hat Linux 5.0.
1439 [3]Return to the GCC home page
1441 Last modified: August 27, 1998
1445 1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
1446 2. http://gcc.gnu.org/faq.html#linuxkernel
1447 3. http://gcc.gnu.org/index.html
1448 ======================================================================