From owner-freebsd-current Thu May 28 11:55:46 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA27718 for freebsd-current-outgoing; Thu, 28 May 1998 11:55:46 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from smtp04.primenet.com (daemon@smtp04.primenet.com [206.165.6.134]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA27698 for ; Thu, 28 May 1998 11:55:39 -0700 (PDT) (envelope-from tlambert@usr09.primenet.com) Received: (from daemon@localhost) by smtp04.primenet.com (8.8.8/8.8.8) id LAA26385; Thu, 28 May 1998 11:55:28 -0700 (MST) Received: from usr09.primenet.com(206.165.6.209) via SMTP by smtp04.primenet.com, id smtpd026285; Thu May 28 11:55:24 1998 Received: (from tlambert@localhost) by usr09.primenet.com (8.8.5/8.8.5) id LAA22268; Thu, 28 May 1998 11:55:17 -0700 (MST) From: Terry Lambert Message-Id: <199805281855.LAA22268@usr09.primenet.com> Subject: Re: Fix for undefined "__error" and discussion of shared object To: smp@csn.net (Steve Passe) Date: Thu, 28 May 1998 18:55:17 +0000 (GMT) Cc: jdp@polstra.com, jb@cimlogic.com.au, tlambert@primenet.com, current@FreeBSD.ORG In-Reply-To: <199805261531.JAA22406@Ilsa.StevesCafe.com> from "Steve Passe" at May 26, 98 09:31:11 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > > 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