diff -ura nspr-4.7.1.orig/mozilla/nsprpub/configure nspr-4.7.1/mozilla/nsprpub/configure
--- nspr-4.7.1.orig/mozilla/nsprpub/configure	2008-04-28 23:21:11.000000000 +0000
+++ nspr-4.7.1/mozilla/nsprpub/configure	2008-09-15 03:25:37.751883419 +0000
@@ -3877,7 +3877,7 @@
 	esac
     ;;
 
-*-linux*|*-gnu*|*-k*bsd*-gnu)
+*-linux*|*-gnu*|*-k*bsd*-gnu|*-kopensolaris*-gnu)
     if test -z "$USE_NSPR_THREADS"; then
         USE_PTHREADS=1
         IMPL_STRATEGY=_PTH
@@ -5607,7 +5607,7 @@
             _PTHREAD_LDFLAGS=-pthread
         fi
         ;;
-    *-linux*|*-gnu*|*-k*bsd*-gnu)
+    *-linux*|*-gnu*|*-k*bsd*-gnu|*-kopensolaris*-gnu)
         cat >> confdefs.h <<\EOF
 #define _REENTRANT 1
 EOF
@@ -5744,7 +5744,7 @@
         fi
     fi
     ;;
-*-linux*|*-gnu*|*-k*bsd*-gnu)
+*-linux*|*-gnu*|*-k*bsd*-gnu|*-kopensolaris*-gnu)
     if test -n "$USE_NSPR_THREADS"; then
         cat >> confdefs.h <<\EOF
 #define _PR_LOCAL_THREADS_ONLY 1
diff -ura nspr-4.7.1.orig/mozilla/nsprpub/configure.in nspr-4.7.1/mozilla/nsprpub/configure.in
--- nspr-4.7.1.orig/mozilla/nsprpub/configure.in	2008-04-28 23:21:11.000000000 +0000
+++ nspr-4.7.1/mozilla/nsprpub/configure.in	2008-09-15 03:25:32.087857432 +0000
@@ -1426,7 +1426,7 @@
 	esac
     ;;
 
-*-linux*|*-gnu*|*-k*bsd*-gnu)
+*-linux*|*-gnu*|*-k*bsd*-gnu|*-kopensolaris*-gnu)
     if test -z "$USE_NSPR_THREADS"; then
         USE_PTHREADS=1
         IMPL_STRATEGY=_PTH
@@ -2555,7 +2555,7 @@
             _PTHREAD_LDFLAGS=-pthread
         fi
         ;;
-    *-linux*|*-gnu*|*-k*bsd*-gnu)
+    *-linux*|*-gnu*|*-k*bsd*-gnu|*-kopensolaris*-gnu)
         AC_DEFINE(_REENTRANT)
         ;;
     esac
@@ -2639,7 +2639,7 @@
         fi
     fi
     ;;
-*-linux*|*-gnu*|*-k*bsd*-gnu)
+*-linux*|*-gnu*|*-k*bsd*-gnu|*-kopensolaris*-gnu)
     if test -n "$USE_NSPR_THREADS"; then
         AC_DEFINE(_PR_LOCAL_THREADS_ONLY)
     fi
diff -ura nspr-4.7.1.orig/mozilla/nsprpub/pr/src/md/unix/uxrng.c nspr-4.7.1/mozilla/nsprpub/pr/src/md/unix/uxrng.c
--- nspr-4.7.1.orig/mozilla/nsprpub/pr/src/md/unix/uxrng.c	2005-12-24 08:25:29.000000000 +0000
+++ nspr-4.7.1/mozilla/nsprpub/pr/src/md/unix/uxrng.c	2008-09-15 03:26:24.744723841 +0000
@@ -139,7 +139,8 @@
 }
 
 #elif (defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD_kernel__) \
-    || defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD))
+    || defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD) \
+    || defined(__OpenSolaris_kernel__))
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>

