From owner-freebsd-hackers Wed Apr 1 13:42:53 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA19849 for freebsd-hackers-outgoing; Wed, 1 Apr 1998 13:42:53 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from cimlogic.com.au ([203.36.2.25]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA19775 for ; Wed, 1 Apr 1998 13:42:37 -0800 (PST) (envelope-from jb@cimlogic.com.au) Received: (from jb@localhost) by cimlogic.com.au (8.8.5/8.8.7) id HAA07461; Thu, 2 Apr 1998 07:42:07 +1000 (EST) (envelope-from jb) From: John Birrell Message-Id: <199804012142.HAA07461@cimlogic.com.au> Subject: Exception handling in 2.8.0 (Was Re: mozilla source) In-Reply-To: <199804011951.MAA18072@usr05.primenet.com> from Terry Lambert at "Apr 1, 98 07:51:14 pm" To: tlambert@primenet.com (Terry Lambert) Date: Thu, 2 Apr 1998 07:42:07 +1000 (EST) Cc: hackers@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Terry Lambert wrote: > In contrast, you can, with this patch (which was already submitted > for inclusion in the FreeBSD gcc/g++ 2.8.x port, but is apparently > not there: Jordan had problems) *dynamically* decide, *at the time > you compile your code, NOT at the time you compile your compiler* > whther or not you are required to use _THREAD_SAFE and/or link with > -lc_r. > > Note: Cygnus rejected this patch because they had already decided > on their bogus implementation, where you need two compilers to be > able to compile with or without threads. The patch was not submitted > to FSF (but should be) for fear of a schism. I think there is an alternative method that will achieve the same result, but without affecting Cygnus/FSF sources. We can add a replacement function for void *** __get_dynamic_handler_chain () { return &__dynamic_handler_chain; } to libc_r that can do this: void *** __get_dynamic_handler_chain () { return &_thread_run->dynamic_handler_chain; } I guess that I must be missing something here. Seems simple. -- John Birrell - jb@cimlogic.com.au; jb@freebsd.org CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message