diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 780d70f29ff04571a2ec0de6db044a97bf02a70a..d9cda96895ec7dbe7549072bb7de43d94c787ac1 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,10 @@
+2010-06-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* configure.ac (*-*-solaris2.8*): Only usr alternate thread
+	library on Solaris 8.
+	(*-*-solaris2*): Use regular thread library otherwise.
+	* configure: Regenerate.
+
 2010-05-13  Uros Bizjak  <ubizjak@gmail.com>
 
 	* tests/leak_test.c (main): Declare as int.  Return 0.
diff --git a/boehm-gc/configure b/boehm-gc/configure
index 0bcfb592af33f04b4290070c2ed219722bda90b4..557d30583aced536b38f9c05a854ca42278793a6 100755
--- a/boehm-gc/configure
+++ b/boehm-gc/configure
@@ -14893,7 +14893,7 @@ $as_echo "#define GC_FREEBSD_THREADS 1" >>confdefs.h
 	AM_CPPFLAGS="$AM_CPPFLAGS -pthread"
 	THREADLIBS=-pthread
       	;;
-     *-*-solaris*)
+     *-*-solaris2.8*)
 
 $as_echo "#define GC_SOLARIS_PTHREADS 1" >>confdefs.h
 
@@ -14903,6 +14903,15 @@ $as_echo "#define GC_SOLARIS_PTHREADS 1" >>confdefs.h
 	THREADLIBS="-L/usr/lib/lwp/$multi_os_directory \
 		    -R/usr/lib/lwp/$multi_os_directory -lpthread -lthread -lrt"
 	;;
+     *-*-solaris2*)
+
+$as_echo "#define GC_SOLARIS_PTHREADS 1" >>confdefs.h
+
+	# The alternate thread library was only introduced in Solaris 8 and
+	# became the default in Solaris 9, so no need for the special code
+	# above otherwise.
+	THREADLIBS=-lpthread
+	;;
      *-*-irix*)
 
 $as_echo "#define GC_IRIX_THREADS 1" >>confdefs.h
diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac
index 363263ec277880a31e41403a42099b281a039d68..32c627524a77b8583b73b9ebcbaf57c4dcb7b3f5 100644
--- a/boehm-gc/configure.ac
+++ b/boehm-gc/configure.ac
@@ -1,4 +1,5 @@
-# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2006 by Red Hat, Inc. All rights reserved.
+# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2006, 2010 by Red Hat, Inc.
+# All rights reserved.
 # Copyright 2004 Nathanael Nerode
 # 
 # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
@@ -179,7 +180,7 @@ case "$THREADS" in
 	AM_CPPFLAGS="$AM_CPPFLAGS -pthread"
 	THREADLIBS=-pthread
       	;;
-     *-*-solaris*)
+     *-*-solaris2.8*)
 	AC_DEFINE(GC_SOLARIS_PTHREADS,1,[support for Solaris pthreads])
 	# Need to use alternate thread library, otherwise gctest hangs
 	# on Solaris 8.
@@ -187,6 +188,13 @@ case "$THREADS" in
 	THREADLIBS="-L/usr/lib/lwp/$multi_os_directory \
 		    -R/usr/lib/lwp/$multi_os_directory -lpthread -lthread -lrt"
 	;;
+     *-*-solaris2*)
+	AC_DEFINE(GC_SOLARIS_PTHREADS,1,[support for Solaris pthreads])
+	# The alternate thread library was only introduced in Solaris 8 and
+	# became the default in Solaris 9, so no need for the special code
+	# above otherwise.
+	THREADLIBS=-lpthread
+	;;
      *-*-irix*)
 	AC_DEFINE(GC_IRIX_THREADS,1,[support for Irix pthreads])
 	;;