From owner-freebsd-current Wed Sep 9 18:25:36 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA26482 for freebsd-current-outgoing; Wed, 9 Sep 1998 18:25:36 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from smtp04.primenet.com (smtp04.primenet.com [206.165.6.134]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA26477 for ; Wed, 9 Sep 1998 18:25:33 -0700 (PDT) (envelope-from tlambert@usr02.primenet.com) Received: (from daemon@localhost) by smtp04.primenet.com (8.8.8/8.8.8) id SAA17431; Wed, 9 Sep 1998 18:25:24 -0700 (MST) Received: from usr02.primenet.com(206.165.6.202) via SMTP by smtp04.primenet.com, id smtpd017373; Wed Sep 9 18:25:17 1998 Received: (from tlambert@localhost) by usr02.primenet.com (8.8.5/8.8.5) id SAA13902; Wed, 9 Sep 1998 18:25:05 -0700 (MST) From: Terry Lambert Message-Id: <199809100125.SAA13902@usr02.primenet.com> Subject: Re: Compiler problems with gcc-2.7.2.1 To: joelh@gnu.org Date: Thu, 10 Sep 1998 01:25:05 +0000 (GMT) Cc: tlambert@primenet.com, obrien@NUXI.com, dfr@nlsystems.com, jb@cimlogic.com.au, current@FreeBSD.ORG In-Reply-To: <199809100059.TAA03333@detlev.UUCP> from "Joel Ray Holveck" at Sep 9, 98 07:59:56 pm 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 > > I personally dislike EGCS because it requires that you build the > > compiler's libgcc.a so that it *either* _requires_ libc_r, *or* it > > *cannot* use libc_r. > > Until your patches are integrated, I'd look at building two libc's, > and using -B to chose. They are Jeremy Allison's, not mine. I helped with the threads code and making STL able to run using Draft 4 pthreads, but I did not do the libgcc.a changes. I believe they are already integrated in the FreeBSD gcc 2.8.1 port. If not, they should be. Here they are: =========================================================================== *** libgcc2.c.orig Fri Feb 6 12:17:16 1998 --- libgcc2.c Fri Feb 6 14:57:17 1998 *************** *** 3201,3206 **** --- 3201,3229 ---- static void *top_elt[2]; void **__dynamic_handler_chain = top_elt; + #if 1 /* MAKE_THREAD_SAFE */ + + typedef void *** (*dynamic_handler_allocator)(); + static dynamic_handler_allocator dah = 0; + + void __set_dynamic_handler_allocator( dynamic_handler_allocator new_dah) + { + dah = new_dah; + } + + /* Routine to get the head of the current thread's dynamic handler chain + use for exception handling. */ + + void *** + __get_dynamic_handler_chain () + { + if(dah == 0) + return &__dynamic_handler_chain; + return (*dah)(); + } + + #else + /* Routine to get the head of the current thread's dynamic handler chain use for exception handling. *************** *** 3211,3216 **** --- 3234,3241 ---- { return &__dynamic_handler_chain; } + + #endif /* This is used to throw an exception when the setjmp/longjmp codegen method is used for exception handling. =========================================================================== 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