]> granicus.if.org Git - gc/commitdiff
2011-04-13 Ivan Maidanski <ivmai@mail.ru> (mostly really Rainer Orth)
authorivmai <ivmai>
Wed, 13 Apr 2011 19:49:10 +0000 (19:49 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:57 +0000 (21:06 +0400)
* configure.ac (THREADDLLIBS): Use alternate thread library on
Solaris 8.
* configure.ac (need_atomic_ops_asm): Set to true only for Sparc
Solaris.
* configure.ac: Don't use libdl on mips-sgi-irix6.
* configure: Regenerate.

ChangeLog
configure
configure.ac

index 318e6a3f9fdb6d3384f00efabcc19130bf933674..f3b6fce1b0c4419585f984c65b793bc6275b7dce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-04-13  Ivan Maidanski  <ivmai@mail.ru> (mostly really Rainer Orth)
+
+       * configure.ac (THREADDLLIBS): Use alternate thread library on
+       Solaris 8.
+       * configure.ac (need_atomic_ops_asm): Set to true only for Sparc
+       Solaris.
+       * configure.ac: Don't use libdl on mips-sgi-irix6.
+       * configure: Regenerate.
+
 2011-04-11  Ivan Maidanski  <ivmai@mail.ru> (really Jie Liu)
 
        * mach_dep.c (NO_GETCONTEXT); Define for RTEMS.
index a06db0486addebd81b136a941bca46979da4615c..01b690bd09d5f9701f153ab63a4784b343d1d7fb 100755 (executable)
--- a/configure
+++ b/configure
@@ -5167,11 +5167,11 @@ $as_echo "$as_me: WARNING: \"Only on NetBSD 2.0 or later.\"" >&2;}
 
         $as_echo "#define THREAD_LOCAL_ALLOC 1" >>confdefs.h
 
-        THREADDLLIBS="-lpthread -lrt"
-        if test "$GCC" != yes; then
-          CFLAGS="$CFLAGS -O"
-          need_atomic_ops_asm=true
-        fi
+        # Need to use alternate thread library, otherwise gctest hangs
+        # on Solaris 8.
+        multi_os_directory=`$CC -print-multi-os-directory`
+        THREADDLLIBS="-L/usr/lib/lwp/$multi_os_directory \
+                      -R/usr/lib/lwp/$multi_os_directory -lpthread -lrt"
         ;;
      *-*-irix*)
         $as_echo "#define GC_IRIX_THREADS 1" >>confdefs.h
@@ -5225,6 +5225,14 @@ $as_echo "$as_me: WARNING: \"Explicit GC_INIT() calls may be required.\"" >&2;};
         as_fn_error $? "\"Pthreads not supported by the GC on this platform.\"" "$LINENO" 5
         ;;
     esac
+    case "$host" in
+     sparc*-*-solaris*)
+        if test "$GCC" != yes; then
+          CFLAGS="$CFLAGS -O"
+          need_atomic_ops_asm=true
+        fi
+        ;;
+    esac
     ;;
  win32)
     $as_echo "#define GC_THREADS 1" >>confdefs.h
@@ -5366,9 +5374,12 @@ $as_echo "#define DARWIN_DONT_PARSE_STACK 1" >>confdefs.h
 
 fi
 
+case "$host" in
+# While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
+# and unnecessary everywhere.
+  mips-sgi-irix6*) ;;
 # We never want libdl on darwin. It is a fake libdl that just ends up making
 # dyld calls anyway.  The same applies to Cygwin.
-case "$host" in
   *-*-darwin*) ;;
   *-*-cygwin*) ;;
   *)
index e4c62e747ec8f9ceb59d9f7ad0bcc6905413a648..0d9083eabde459bcafaead9b0875a7585fd0252f 100644 (file)
@@ -22,8 +22,8 @@ AC_INIT(gc,7.2alpha5,Hans.Boehm@hp.com)
 AC_CONFIG_SRCDIR(gcj_mlc.c)
 AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_TARGET
-AC_PREREQ(2.53)
-AC_REVISION($Revision: 1.64 $)
+AC_PREREQ(2.64)
+AC_REVISION($Revision: 1.65 $)
 GC_SET_VERSION
 AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
 AM_CONFIG_HEADER([include/private/config.h])
@@ -180,11 +180,11 @@ case "$THREADS" in
      *-*-solaris*)
         AC_DEFINE(GC_SOLARIS_THREADS)
         AC_DEFINE(THREAD_LOCAL_ALLOC)
-        THREADDLLIBS="-lpthread -lrt"
-        if test "$GCC" != yes; then
-          CFLAGS="$CFLAGS -O"
-          need_atomic_ops_asm=true
-        fi
+        # Need to use alternate thread library, otherwise gctest hangs
+        # on Solaris 8.
+        multi_os_directory=`$CC -print-multi-os-directory`
+        THREADDLLIBS="-L/usr/lib/lwp/$multi_os_directory \
+                      -R/usr/lib/lwp/$multi_os_directory -lpthread -lrt"
         ;;
      *-*-irix*)
         AC_DEFINE(GC_IRIX_THREADS)
@@ -226,6 +226,14 @@ case "$THREADS" in
         AC_MSG_ERROR("Pthreads not supported by the GC on this platform.")
         ;;
     esac
+    case "$host" in
+     sparc*-*-solaris*)
+        if test "$GCC" != yes; then
+          CFLAGS="$CFLAGS -O"
+          need_atomic_ops_asm=true
+        fi
+        ;;
+    esac
     ;;
  win32)
     AC_DEFINE(GC_THREADS)
@@ -293,9 +301,12 @@ if test $compiler_xlc = yes -a "$powerpc_darwin" = true; then
   AC_DEFINE([DARWIN_DONT_PARSE_STACK], 1, [See doc/README.macros.])
 fi
 
+case "$host" in
+# While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
+# and unnecessary everywhere.
+  mips-sgi-irix6*) ;;
 # We never want libdl on darwin. It is a fake libdl that just ends up making
 # dyld calls anyway.  The same applies to Cygwin.
-case "$host" in
   *-*-darwin*) ;;
   *-*-cygwin*) ;;
   *)