Date: Thu, 10 Sep 1998 01:25:05 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: joelh@gnu.org Cc: tlambert@primenet.com, obrien@NUXI.com, dfr@nlsystems.com, jb@cimlogic.com.au, current@FreeBSD.ORG Subject: Re: Compiler problems with gcc-2.7.2.1 Message-ID: <199809100125.SAA13902@usr02.primenet.com> In-Reply-To: <199809100059.TAA03333@detlev.UUCP> from "Joel Ray Holveck" at Sep 9, 98 07:59:56 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809100125.SAA13902>
