GCC 3.0 is now available.
4 E/ Q6 M- L( n1 v+ }
# U4 |9 C, o& D& z5 S! XThis release contains many new features and improvements. The
+ d/ j6 W7 |4 @* C% m2 v6 \highlights include:
! c1 s! \3 s% [3 J+ E1 @0 v2 U
: E" U3 C5 O0 j - Support for Java, including the GNU implementation of the Java
. r$ i8 q2 q8 }$ |$ s; m
run-time library.
: c! \3 {- S. {: [; d# i4 \
: U, {5 _6 G" m% }' G
- A new x86 back-end, which generates faster code.
8 A# @* w5 A+ V7 G8 k, F& v# V: D/ i4 G( L1 U0 D7 O0 G$ ~
- A more efficient, more standards-compliant C++ compiler,
/ Z( c6 i& v. h( I3 L using an industry standard C++ ABI.
1 ?$ t2 {4 H1 L H) r: k
6 |% Q; x5 c5 t) L - A new, standards-conformant, implementation of the C++ standard
$ C/ K; j4 }1 u$ H+ H6 v library.
* X' k* Q. k" ]/ E e
6 W, ]. B/ f' w7 x! n - Improved optimizations.
( S, H3 f% I" h0 O |
/ i9 |9 a# x1 w$ h - Improved documentation.
: s/ M9 y# j1 i. u: ^2 S l9 J9 o; Z) f5 E; y. L s$ G6 I8 n
There are many, many more new features and other improvements. For a
5 V3 l& y* A. M: imore complete list, visit:
" \0 ]7 _# v1 }" Z7 ]' ~
Z( E6 w" O6 x http://gcc.gnu.org/gcc-3.0/features.html
( B) |7 f1 L/ i! n( Q! M# q) w9 s3 E' b! ]1 q- n( O6 E# C: n4 j
Caveats
7 p p' W# }) g8 ^) r-------
. ^3 o1 y7 q& m
# k2 R, q& A5 q/ z r8 v
For specific caveats about GCC 3.0, including information about
7 a4 l/ D$ l" n! {, jsome user-visible changes to GCC 3.0, please visit:
" I2 h$ h) t; {0 q, ~/ X: O. D* L
0 Q4 e1 L5 \* Q( u# |# t2 y: m http://gcc.gnu.org/gcc-3.0/caveats.html( t2 |; A0 q( ~8 y
* ?$ R3 G" P& `. HBecause this release contains so many new features and new
1 w7 [0 o' C. n3 G: N& e
optimizations, it also contains some new bugs. Although a tremendous
' [4 d2 y9 h. a$ I
amount of effort has been invested in eliminating bugs, there are
, A2 X: \$ n/ u) Y, H3 J' x% H9 Mundoubtedly problems remaining. The web page mentioned above will
) k1 N @3 q# x( Hbe updated as we obtain additional information about frequently
q! e# X( |: y
encountered problems.
! K3 y/ V8 A. b- u1 [" W
x7 |" z' g$ K* _- J& \
While we feel that GCC 3.0 is suitable for production use, you should
# N6 v! s7 o. E! g$ d5 v
of course test recompiled applications carefully before deploying them
" X: u9 D* L* r0 ]3 n* W- ]
in mission-critical environments. We do not recommend replacing the
/ n, X$ X% D7 l5 y$ ysystem compiler on your system with GCC 3.0, because that makes it
, ~, }/ k7 L/ ?2 |( [: odifficult for you to downgrade, should the need arise.
2 T. |: ^) E- L) p O* J& _, A j! s! Q$ M, e* @/ F* ]
We know that GCC 3.0 does not work as well on some embedded systems as
4 a: q2 n" Q# ]
previous releases of GCC. We hope to correct these problems in an
* M8 Q+ a' @# Z' t; V
upcoming GCC 3.0.1 release soon. If you are am embedded systems user
4 x0 P( @" `9 p1 m2 ]and would like to help, please visit:
3 o+ a d. j7 F$ T- f) r, }8 l: P& H2 F9 u
http://gcc.gnu.org/contribute.html
9 ~* K& R' j! X8 T# \2 Q
, x. {4 j5 ^9 I6 z* JWe also know that current versions of GLIBC do not work when
. \# ^8 T% E$ _5 K4 a$ L- p- Trecompiled with GCC 3.0. The GLIBC developers are working on solving
6 j4 U6 n4 F2 x" b a- `% G0 `this problem.
" {* {5 Z$ W+ U
" ?( n# H @) Y Y0 u8 v) E
If you find problems in GCC 3.0, please follow the instructions at:
) O8 c7 M& w7 b' Y- N/ [- x# _- O. t8 w; ?' g
http://gcc.gnu.org/bugs.html
- |5 `+ k' }7 K+ A' I4 k! U: \- P: J- W/ b4 n; g9 f6 U! o
to let us know where you ran into trouble. While we cannot promise to
* L# G. r" _* Rfix any given bug, your feedback will be valuable to us in
" [% K) ~' [% f0 M( n0 h' lprioritizing our effort on future releases.
5 ]4 T! D& v% T) }
) ^2 g6 ? x: N* aAcknowledgements
3 G9 [9 \ K4 L9 A( \! Q8 n% u----------------
3 R6 a- ^9 s7 Z, K5 @ Z) c! a
' V. h+ ~) Y- e0 }' _
Many, many people contributed to this release. You can find many of
; l4 d! ^/ Y3 i) e$ i Y0 D: Mthem listed at:
6 \8 j$ d8 W" ]& l( g3 }6 A( x
& Y4 q5 o0 ^0 Q" C
http://gcc.gnu.org/thanks.html
3 {" q3 j' u$ o; s f$ C' Q4 S- E7 U4 G! Y$ F2 x2 f
There are undoubtedly some omissions from that list; we apologize in
( J9 z$ s' ~ a l
advance to those who have been accidentally left out.
5 h: v. i4 X4 `' o3 L7 S
+ v, W7 ]' h: `! I9 D' BAs the Release Manager for GCC 3.0, I would particularly like to thank
2 p* h: C0 _, L
the Los Alamos National Laboratory (http://www.lanl.gov) for providing
{ s; J$ Y, Q, T$ \. z3 P* p$ H" @financial support for a portion of the time that I have put into the
7 R% B* I* D+ G5 Vrelease.
+ D% Y# Y& r. A$ b" x8 ~: }5 l) }0 P N* }& m( j3 \# B
I would also like to thank the GCC Steering Committee for its guidance
' B" }, ~8 [# |1 {( o5 Vand support throughout the release process. The Steering Committee's
5 L3 M) C t; f
sage advice, and occasional criticism, have made it possible to
# n, B0 Q: j5 {( F
prioritize, analyze, and deal with the issues that arose throughout
# N4 z* B/ w" V3 vthe release cycle.
( r- P4 S3 _$ U) y# F2 @: ]4 P# g; H
# r" E& g8 I0 @! Z( h7 ZShould you find imperfections in this release, please bear in mind
1 b; q0 ~7 Y5 t8 Q: |that a tradeoff has to be made between fixing every bug and making a
( ^, e9 p, ]; _9 L3 m1 F7 ^! Z; s7 O O
release available. When you find places where GCC 3.0 is better than
5 I) p( D) S; L' }8 Y. U
its predecessors, please thank the implementors of those improvements.
6 E. D: [! `6 K- R: K3 `
If you find places where it is worse, blame me: the decision to ship,
! G$ l. u1 @, z8 F Nrather than to wait for futher fixing, lay with me.
4 O: o9 r7 z7 y
7 v( h- b/ t, x9 @
Looking Forward
$ e; f- }5 [- l5 `$ N, T8 R
---------------
% c* E& U3 Z" J$ I U$ [4 ~, J
' D5 i7 u5 ]1 ^There will be a 3.0.1 release to fix critical bugs discovered in GCC
3 l0 Q* v9 Y2 x; R4 B+ {3.0 in the relatively near future, although exact plans have not been
9 P% P1 ?. B: p" Z: Y
finalized.
9 P; M- e- L( o6 p7 i3 R! i/ U2 i/ Q' j+ n$ g
If you would like to participate in that process, please visit:
# x: u( h( g0 a3 X U/ k" h8 l
1 K8 q2 x, a; I/ Q http://gcc.gnu.org/lists.html" _8 C. {" n) q( ?! \
( p Q2 z" M2 U2 B8 p' |1 \! l& L
to find out how to join the appropriate mailing lists.
! P/ d2 B# X9 L3 @" o- N
, d0 B* x; D* O4 Z8 p1 M( d" [Download
5 n, [% Z; C% n
--------
- U& x E! L, K3 J9 Y/ t/ T" [5 q1 L0 ?1 P
The source release is available for download via FTP on the usual GNU
7 V; H; |2 ?1 j' V/ u
FTP sites. For a list of GNU mirror sites, please visit:
( d$ v1 ^' y6 U# D# m, c L6 s S. w
http://www.gnu.org/order/ftp.html; s% w& w0 m4 `7 N( }( h( @
1 ~, d9 Z' n: k" @6 \& ?, [% u/ N, `You will find the following files in `/pub/gnu/gcc/gcc-3.0':
# h" X3 t& i/ g4 E! j! l$ T1 V7 ?# E
( t1 \8 Y9 N( a$ c; d
gcc-3.0.tar.gz
4 c* S' @+ `$ u: [# T
gcc-core-3.0.tar.gz
- K. d- a6 J( O: p: _8 x gcc-g++-3.0.tar.gz
5 H- h+ ? F1 f; v- f' Q0 |
gcc-g77-3.0.tar.gz
) m0 _2 [. n$ Y7 s ?" c
gcc-java-3.0.tar.gz
2 V$ G8 Y }( \; }
gcc-objc-3.0.tar.gz
: K( U3 P; H! ^/ j
gcc-testsuite-3.0.tar.gz
3 ]8 e8 h1 X% y; e: l! q
5 C9 ^! I; @- ^+ [' e4 GIf you download the first file, you do not need to download any of the
3 P! c: v n" ?0 a. ] a. iothers, as it contains the entire compiler.
; L7 m1 m: H/ i
1 \/ B4 [! y0 C# E' b$ m0 ZIf you choose not to download the entire distribution, you must
9 Q9 |$ h! Y* k( ^8 Q- H2 X) D; X
download the `core' package, which contains the C compiler, along with
. {( g! H) n4 b# Q, @any of the other language-specific packages that you want. If you
4 J5 ?5 `# f9 l
download the `java' package, you must also download the `g++' package,
* M. M7 J2 V/ \. J. r! G& q: [) Q
because the Java run-time library is partially written in C++.
& Y$ h; n |( g3 z
/ M4 P; l) F4 p, K$ H! ?/ SFor detailed installation instructions, please visit:
" D7 S' z% b2 j" v; h6 D Y: o4 K) a7 q0 k
http://gcc.gnu.org/install/: R% \9 b4 A5 w+ t! i
" z2 @0 _+ }/ x& Y
Because GCC is a large and complex piece of software, its installation
4 H- K: B1 r5 `& I* R: s
is somewhat more complicated than many other programs. Binary
$ w0 U/ ?% j( ?
distributions of the compiler, packaged for your system, may be
( U" E9 {# F( U, ~
available from your system vendor or elsewhere on the internet, and
2 E) u' }( T$ u' h6 a7 c
these distributions may provide you an easier way to install GCC 3.0.
% [4 a9 b& `8 |; }