Fix 32/64-bit confusion on Solaris 10 x86.  Patch from Oliver Jowett.
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index bb19587..a20efc4 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -77,6 +77,7 @@
     * HPUX support.
   Oliver Jowett <oliver.jowett@gmail.com>
     * Detect whether zlib is new enough in configure script.
+    * Fixes for Solaris 10 32/64-bit confusion.
   Evan Jones <evanj@mit.edu>
     * Optimize Java serialization code when writing a small message to a stream.
   Michael Kucharski <m.kucharski@gmail.com>
diff --git a/configure.ac b/configure.ac
index fa54431..e7ceb00 100644
--- a/configure.ac
+++ b/configure.ac
@@ -138,8 +138,10 @@
 ACX_PTHREAD
 AC_CXX_STL_HASH
 
-# HACK:  Make gtest's configure script pick up our copy of CXXFLAGS, since the
-#   flags added by ACX_CHECK_SUNCC must be used when compiling gtest too.
+# HACK:  Make gtest's configure script pick up our copy of CFLAGS and CXXFLAGS,
+#   since the flags added by ACX_CHECK_SUNCC must be used when compiling gtest
+#   too.
+export CFLAGS
 export CXXFLAGS
 AC_CONFIG_SUBDIRS([gtest])
 
diff --git a/m4/acx_check_suncc.m4 b/m4/acx_check_suncc.m4
index 43887c9..5bf72d3 100644
--- a/m4/acx_check_suncc.m4
+++ b/m4/acx_check_suncc.m4
@@ -54,12 +54,19 @@
 
           dnl This should just be set in CPPFLAGS and in LDFLAGS, but libtool
           dnl does the wrong thing if you don't put it into CXXFLAGS. sigh.
+          dnl (It also needs it in CFLAGS, or it does a different wrong thing!)
           AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],[
             CXXFLAGS="${CXXFLAGS} -m64"
             ac_cv_env_CXXFLAGS_set=set
             ac_cv_env_CXXFLAGS_value='-m64'
           ])
 
+          AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],[
+            CFLAGS="${CFLAGS} -m64"
+            ac_cv_env_CFLAGS_set=set
+            ac_cv_env_CFLAGS_value='-m64'
+          ])
+
           AS_IF([test "$target_cpu" = "sparc" -a "x$SUNCC" = "xyes" ],[
             CXXFLAGS="-xmemalign=8s ${CXXFLAGS}"
           ])