aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--boehm-gc/ChangeLog6
-rw-r--r--boehm-gc/misc.c2
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/boehm.cc5
4 files changed, 16 insertions, 3 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 70dcfb0d9d4..bf4f0cd1a6c 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-14 Tom Tromey <tromey@redhat.com>
+
+ PR boehm-gc/29068.
+ * misc.c (GC_init_inner): Don't use GC_get_thread_stack_base on
+ Solaris.
+
2006-08-21 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/13212:
diff --git a/boehm-gc/misc.c b/boehm-gc/misc.c
index 23e226df52a..069c7d57ad0 100644
--- a/boehm-gc/misc.c
+++ b/boehm-gc/misc.c
@@ -674,7 +674,7 @@ void GC_init_inner()
# if !defined(THREADS) || defined(GC_PTHREADS) || defined(GC_WIN32_THREADS) \
|| defined(GC_SOLARIS_THREADS)
if (GC_stackbottom == 0) {
- # ifdef GC_PTHREADS
+ # if defined(GC_PTHREADS) && ! defined(GC_SOLARIS_THREADS)
/* Use thread_stack_base if available, as GC could be initialized from
a thread that is not the "main" thread. */
GC_stackbottom = GC_get_thread_stack_base();
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 989738f5763..a4c80c9c3d2 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-14 Tom Tromey <tromey@redhat.com>
+
+ PR boehm-gc/29068:
+ * boehm.cc (_Jv_GCAttachThread): Disable on Solaris.
+ (_Jv_GCDetachThread): Likewise.
+
2006-09-14 Andreas Schwab <schwab@suse.de>
* posix-threads.cc: Include "posix.h".
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
index f96128e191d..2e382959ee4 100644
--- a/libjava/boehm.cc
+++ b/libjava/boehm.cc
@@ -701,7 +701,8 @@ _Jv_GCAttachThread ()
{
// The registration interface is only defined on posixy systems and
// only actually works if pthread_getattr_np is defined.
-#ifdef HAVE_PTHREAD_GETATTR_NP
+ // FIXME: until gc7 it is simpler to disable this on solaris.
+#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS)
GC_register_my_thread ();
#endif
}
@@ -709,7 +710,7 @@ _Jv_GCAttachThread ()
void
_Jv_GCDetachThread ()
{
-#ifdef HAVE_PTHREAD_GETATTR_NP
+#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS)
GC_unregister_my_thread ();
#endif
}