Miod Vallat wrote:
> According to the commit message when kurt@ switched gcc3 to the posix
> thread model, it ``makes dwarf2 exception handling thread safe and
> enables thread safety for libstdc++''.
>
> That change was reverted because it did not work correctly on hppa. Now
> that hppa has switched to gcc4, there is no reason not to bring this
> change back in.
Indeed, I would like to bring this back to minimize the differences
between our gcc3 and gcc4 platforms.
Kurt's change also had another part:
include -D_REENTRANT when -pthread cpp arg is present (needed so
boost can detect -pthread on the command line).
This would actually be different from our gcc4 platforms and it's
just supposed to help a single port. So I don't think we want this.
This leaves us with the diff below. I'm going to test this on
alpha. Who wants to check the other remaining gcc3 platform,
landisk?
Index: gnu/lib/libstdc++/shlib_version
===
RCS file: /cvs/src/gnu/lib/libstdc++/shlib_version,v
retrieving revision 1.22
diff -u -p -r1.22 shlib_version
@@ -1,2 +1,2 @@
-major=51
+major=52
minor=0
Index: gnu/usr.bin/gcc/Makefile.bsd-wrapper
===
RCS file: /cvs/src/gnu/usr.bin/gcc/Makefile.bsd-wrapper,v
retrieving revision 1.60
diff -u -p -r1.60 Makefile.bsd-wrapper
--- gnu/usr.bin/gcc/Makefile.bsd-wrapper25 May 2010 00:24:58 -
1.60
+++ gnu/usr.bin/gcc/Makefile.bsd-wrapper9 Sep 2011 20:53:34 -
@@ -105,6 +105,7 @@ config.status: gcc/Makefile.in gcc/confi
${LANGUAGES} --enable-cpp --disable-nls \
--with-gxx-include-dir=${GXX_INCDIR} \
--enable-__cxa_atexit \
+ --enable-threads=posix \
${CONFIGTARGET} ${GCCARCH} && touch config.status
.ifdef NOMAN
Index: gnu/usr.bin/gcc/gcc/config/openbsd.h
===
RCS file: /cvs/src/gnu/usr.bin/gcc/gcc/config/openbsd.h,v
retrieving revision 1.12
diff -u -p -r1.12 openbsd.h
--- gnu/usr.bin/gcc/gcc/config/openbsd.h26 Jul 2009 22:51:28 -
1.12
+++ gnu/usr.bin/gcc/gcc/config/openbsd.h10 Sep 2011 20:22:30 -
@@ -323,10 +323,6 @@ do {
\
/* Storage layout. */
-/* Otherwise, since we support weak, gthr.h erroneously tries to use
- #pragma weak. */
-#define GTHREAD_USE_WEAK 0
-
/* bug work around: we don't want to support #pragma weak, but the current
code layout needs HANDLE_PRAGMA_WEAK asserted for __attribute((weak)) to
work. On the other hand, we don't define HANDLE_PRAGMA_WEAK directly,
--
Christian "naddy" Weisgerber na...@mips.inka.de