Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 May 1998 18:55:17 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        smp@csn.net (Steve Passe)
Cc:        jdp@polstra.com, jb@cimlogic.com.au, tlambert@primenet.com, current@FreeBSD.ORG
Subject:   Re: Fix for undefined "__error" and discussion of shared object
Message-ID:  <199805281855.LAA22268@usr09.primenet.com>
In-Reply-To: <199805261531.JAA22406@Ilsa.StevesCafe.com> from "Steve Passe" at May 26, 98 09:31:11 am

next in thread | previous in thread | raw e-mail | index | archive | help
> > > BTW, what's you opinion of egcs?
> > 
> > It seems to have frequent ups and downs.  We have been using the
> > Feb. 21 snapshot for a fairly large C++ project that I'm involved
> > with, and we haven't had any show-stopper problems.  But I believe
> > some of the other team members tried a later snapshot and ran into all
> > sorts of bugs.
> > 
> > One thing I can say is that the template support is immeasurably
> > better than what was in gcc-2.7.2.  I haven't tried gcc-2.8.1, but
> > I've heard that its C++ support is much improved over 2.7.2 as well.
> 
> We're doing a complex c++/pthreads project and found that neither 2.7.2 or
> 2.8.1 worked for us, but an egcs snap from several months ago works well.

The egcs code *requires* that all your code be either threaded or
unthreaded.  You must make this decision at the time you compile
the compiler.

The gcc 2.8.1 code *requires* the patches Jeremey Allison did (and which
are in the FreeBSD port now, AFAIK) to support per thread exception
stacks.

The STL needs a number of changes to allow you to successfully use
the STL threading capable functions, since it tries to statically
initialize mutexes, and you can't do that with POSIX Draft 4
pthreads mutexes.

We were doing a complex C++/threads project, and were only able to
make it work with g++ 2.8.1.

Basically, we ported the ACAP server to FreeBSD.  AFAIK, this is
the first time ACAP has been successfully run on a g++/egcs based
platform, ever.  There are a number ofvalid  semantic constructs
that both g++ and egcs tend to barf on.


The egcs code tends to piss me off, both because it sometimes makes
optimizations that are invalid (c.v.: the "octave" port), and the
need to eat the overhead of threads in all programs if you want to
use threads and exceptions in any one program.

I guess the theory is that we should all buy faster processors.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



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