re PR boehm-gc/29068 (Bootstrap fails building libjava on SPARC/Solaris)
authorTom Tromey <tromey@redhat.com>
Thu, 14 Sep 2006 18:06:04 +0000 (18:06 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Thu, 14 Sep 2006 18:06:04 +0000 (18:06 +0000)
libjava
PR boehm-gc/29068:
* boehm.cc (_Jv_GCAttachThread): Disable on Solaris.
(_Jv_GCDetachThread): Likewise.
boehm-gc
PR boehm-gc/29068.
* misc.c (GC_init_inner): Don't use GC_get_thread_stack_base on
Solaris.

From-SVN: r116948

boehm-gc/ChangeLog
boehm-gc/misc.c
libjava/ChangeLog
libjava/boehm.cc

index 70dcfb0d9d4737aa631963fb08ff9ad1cbef6b81..bf4f0cd1a6cea124f6039fd1530a1668025488bb 100644 (file)
@@ -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:
index 23e226df52ab60239a43fff5be9d67fa69e6a21d..069c7d57ad0086e7c4b413dc157a62f67aa1ae40 100644 (file)
@@ -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();
index 989738f576344ce9d6aaacecd9ef591a17602b40..a4c80c9c3d25da3d95d425cd83a8918407045c50 100644 (file)
@@ -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".
index f96128e191d9823ec6c8e6c53c53be193b3d8064..2e382959ee40d64b4bb9becd12ea81f55b0f1ca8 100644 (file)
@@ -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
 }