Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Dec 1995 10:00:29 -0800
From:      Josh MacDonald <jmacd@paris.CS.Berkeley.EDU>
To:        Chuck Robey <chuckr@glue.umd.edu>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: gcc 2.7.1 
Message-ID:  <199512241800.KAA23024@paris.CS.Berkeley.EDU>
In-Reply-To: Your message of "Sun, 24 Dec 1995 12:25:37 EST." <Pine.SUN.3.91.951224121228.1716A-100000@latte.eng.umd.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> I'm not sure I understand;  you can't build shared libs?  That sounds 
> like I didn't see enough context, because building shared libs isn't a 
> trick at all.  I think you know this, so I'm confused by the remark, I 
> must have missed something.
> 

The Makefiles in the gcc release have to be tweaked a bit to get it
to make pic code, but it does.  When I link with the shared library
produced, nothing works.  I was thinking that static constructors weren't 
being constructed.

> 
> You brought this up before, when 2.7.1 first came out.  I thought the 
> answer then was that there were definite code generation bugs with 
> 2.7.1.   FreeBSD has _never_ tried to follow GNU gcc releases, the 
> important thing being that the tree compiles well, not chasing GNU.  I 
> just saw a reference to a fix for one of the code generation bugs, a 
> patch, show up on the list.  I'll bet gcc gets upgraded in the next year, 
> but there's no rush.  You can port gcc yourself (others have, they're 
> reported results to this list) if you really need it.

I just think it would be nice if someone who know what they were doing
perhaps a little more than myself, (as I said, I couldn't make the shared
libs work--but that's not such a big deal), would produce an informed
set of differences and keep the GNU team up to date.

> I'm a little curious; here at U of Maryland, they're no quicker to 
> upgrade their local gcc ports than FreeBSD is, so all the student code 
> has to compile under 2.6.3.  Is Berkeley quicker on that?  If not, how is 
> 2.7.2 going to help you?

The differences between 2.7.2 and 2.7.0 are minor and mostly non-i386
archetechure bugs, but the differences between 2.6.3 and 2.7.x are 
substantial.  Especially as far as g++ is concerned.  I am not working
on homework or a class project here or else 2.6.3 would be fine.  Berkeley's
software group has had 2.7.0 installed since August 25:

paris-~ % ls -l /usr/sww/bin/gcc
-rwxr-xr-x  1 8214       131072 Aug 25 14:04 /usr/sww/bin/gcc*
paris-~ % /usr/sww/bin/gcc -v
Reading specs from /usr/sww/lib/gcc-lib/sparc-sun-sunos4.1.2/2.7.0/specs
gcc version 2.7.0

When I tried to use a template class with a static bool type, I noticed
that two-line bug I just mailed the list.  Then, rather than write code
to work around a bug like that (you can't test static bools in template
classes, what are you going to do?), I decided to use 2.7.x for my 
project.

You know it could be worse than you think, not supporting GNU releases
very well.  Consider this small example.  I am being paid by a research
project right now for the work I'm doing.  One of my advisors has a lot
of influence over purchases and computers that are used.  He himself
runs FreeBSD at home.  He was telling me he was considering purchasing
an order of laptops for some of the researchers, and if so to run FreeBSD
on them.  If I show up at our next meeting and say, "Well, I am having
trouble working at home because g++-2.7.x does't work well on FreeBSD,
so I've had to work on campus" (on this Sun IPC! its slow!), what do you
think he'll think of FreeBSD then?  Probably this won't influence his
purchasing decisions one way or another, but he'll remember it, that's
for sure.  He's not the type of person who wants to spend loads of time
porting a compiler.  

Surely as you suggest most people who are in need of the latest version
of a gcc or whatever can probably compile it themselves, but it 
takes a lot of time and effort to make sure its installed prpoperly
and working properly, especially to test the c++ installation because
you can't do the 2 or 3 stage build/compare with it.  It would be nice
to at least see a set of difss or a package for libg++ and recent versions
of gcc, this is my point.  I can contribute what I've done, but who knows
if I've done it right.  If there is one unified version, then everyone who
finds problems can contribute them and the GNU team will be better notified
of FreeBSD diffs.

-josh



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512241800.KAA23024>