Subject: Re: Building gcc-2.5.8
To: None <mycroft@gnu.ai.mit.edu>
From: Mark P. Gooderum <mark@aggregate.com>
List: current-users
Date: 05/13/1994 11:05:48
>    What about incorporating a more up-to-date gcc than gcc-2.4.5 into
>    the source tree?
> 
> Is there something *wrong* with the one currently in the tree?  It seems
> to work just fine for everything I've built.
> 
> Updating for the sake of updating is silly; it leads to more bugs and
> more of our time wasted.

True, but 2.5.8 is very stable and there are several key improvements in
2.5.8 that aren't in 2.4.5 that are nice, matter now, or will matter in
the future.

From reading the NEWS file in 2.5.8 back to 2.5.0, key things are:

Power PC and fixed Power RISC support
C++ fixes for local variables and nested type references
Complex number support and some other NECG related bits
Real long doubles on Sparc and i386
Support for hints to optimizer (for no return and no side effects)
ARM/ANSI overloading behavior (very important for porting many C++ programs 
	originally written on cfront based systems)
Much better C++ nesting support
Other ARM/ansi compliance fixes
Much better sparc, pa-risc, and i386 (with m586) code generation

I've heard that -m586 even with a 486 can provide a good win in 2.5.8.

But there is nothing that keeps a user from building it themselves.  
I would be curious though if someone who did the initial incorporation
of the 2.4.5 sources could just post what changes needed to be done for that
(not counting just reorganization of the build into the source tree).

However, I agree that this would take a fair bit of work and there are much
more important things to do for now given that gcc/g++ do work fine as
they are for all (most?) of us, and that updating for the sake of updating
is silly.  Gas is one good example...the first version of gas after
incorporation of the bfd stuff was as much as *100 times* slower, and even
today is still 2-3 times slower that it was before this change...and its
arguable what the bfd support buys you at this level.

It would be also be nice if somebody could send/submit a set of -netbsd changes
to the gcc maintainers for 2.5.8.  I'd be game but with getting married in a
week it would have to wait a bit.

One important note though is that g++ >= 2.5.5 is not compatible with
older g++ versions/libraries.  The name mangling has changed.

Another thing is that more that one person has suggested that the
g++/libg++ release from Cygnus is much better shape than the FSF
release especially in the iostreams library, these can be found at:

	ftp.cygnus.com:/pub/reno-1.3.tar.gz

-Mark


------------------------------------------------------------------------------