*** ./configure	Sat May 23 18:09:25 2015
--- ./configure	Wed Sep 23 17:49:44 2015
***************
*** 8194,8201 ****
  	IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
  	SunOS/5*)
  		if test "$GCC" = "yes" ; then
! 			LDSHARED='$(CC) -shared'
! 			LDCXXSHARED='$(CXX) -shared'
  		else
  			LDSHARED='$(CC) -G'
  			LDCXXSHARED='$(CXX) -G'
--- 8194,8201 ----
  	IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
  	SunOS/5*)
  		if test "$GCC" = "yes" ; then
! 			LDSHARED='$(CC) -static-libgcc -shared'
! 			LDCXXSHARED='$(CXX) -static-libgcc -shared'
  		else
  			LDSHARED='$(CC) -G'
  			LDCXXSHARED='$(CXX) -G'
***************
*** 8424,8429 ****
--- 8424,8435 ----
  		LINKFORSHARED='-Wl,-E -N 2048K';;
  	esac
  fi
+ 
+ case $ac_sys_system in
+    Darwin*) ;;
+          *) LINKFORSHARED="$LINKFORSHARED -static-libgcc";;
+ esac
+ 
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINKFORSHARED" >&5
  $as_echo "$LINKFORSHARED" >&6; }
  
***************
*** 8555,8560 ****
--- 8561,8611 ----
  
  fi
  	# Dynamic linking for HP-UX
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdatasync in -lposix4" >&5
+ $as_echo_n "checking for fdatasync in -lposix4... " >&6; }
+ if ${ac_cv_lib_posix4_fdatasync+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lposix4  $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+ /* Override any GCC internal prototype to avoid an error.
+    Use char because int might match the return type of a GCC
+    builtin and then its argument prototype would still apply.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ char fdatasync ();
+ int
+ main ()
+ {
+ return fdatasync ();
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_posix4_fdatasync=yes
+ else
+   ac_cv_lib_posix4_fdatasync=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_fdatasync" >&5
+ $as_echo "$ac_cv_lib_posix4_fdatasync" >&6; }
+ if test "x$ac_cv_lib_posix4_fdatasync" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBPOSIX4 1
+ _ACEOF
+ 
+   LIBS="-lposix4 $LIBS"
+ 
+ fi
+  # Dynamic linking for SunOS/Solaris
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RAND_egd in -lcrypto" >&5
  $as_echo_n "checking for RAND_egd in -lcrypto... " >&6; }
  if ${ac_cv_lib_crypto_RAND_egd+:} false; then :
*** ./configure.ac	Sat May 23 18:09:25 2015
--- ./configure.ac	Wed Sep 23 17:49:21 2015
***************
*** 1960,1967 ****
  	IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
  	SunOS/5*) 
  		if test "$GCC" = "yes" ; then
! 			LDSHARED='$(CC) -shared'
! 			LDCXXSHARED='$(CXX) -shared'
  		else
  			LDSHARED='$(CC) -G'
  			LDCXXSHARED='$(CXX) -G'
--- 1960,1967 ----
  	IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
  	SunOS/5*) 
  		if test "$GCC" = "yes" ; then
! 			LDSHARED='$(CC) -static-libgcc -shared'
! 			LDCXXSHARED='$(CXX) -static-libgcc -shared'
  		else
  			LDSHARED='$(CC) -G'
  			LDCXXSHARED='$(CXX) -G'
***************
*** 2186,2191 ****
--- 2186,2197 ----
  		LINKFORSHARED='-Wl,-E -N 2048K';;
  	esac
  fi
+ 
+ case $ac_sys_system in
+    Darwin*) ;;
+          *) LINKFORSHARED="$LINKFORSHARED -static-libgcc";;
+ esac
+   
  AC_MSG_RESULT($LINKFORSHARED)
  
  
***************
*** 2224,2229 ****
--- 2230,2236 ----
  # checks for libraries
  AC_CHECK_LIB(dl, dlopen)	# Dynamic linking for SunOS/Solaris and SYSV
  AC_CHECK_LIB(dld, shl_load)	# Dynamic linking for HP-UX
+ AC_CHECK_LIB(posix4, fdatasync) # Dynamic linking for SunOS/Solaris
  AC_CHECK_LIB(crypto, RAND_egd,
               AC_DEFINE(HAVE_RAND_EGD, 1,
               [Define if the libcrypto has RAND_egd]))
*** ./setup.py	Sat May 23 18:09:25 2015
--- ./setup.py	Wed Sep 23 17:45:17 2015
***************
*** 842,847 ****
--- 842,849 ----
          have_usable_openssl = (have_any_openssl and
                                 openssl_ver >= min_openssl_ver)
  
+         have_any_openssl = True
+         have_usable_openssl = True
          if have_any_openssl:
              if have_usable_openssl:
                  # The _hashlib module wraps optimized implementations
***************
*** 849,855 ****
                  exts.append( Extension('_hashlib', ['_hashopenssl.c'],
                                         include_dirs = ssl_incs,
                                         library_dirs = ssl_libs,
!                                        libraries = ['ssl', 'crypto']) )
              else:
                  print ("warning: openssl 0x%08x is too old for _hashlib" %
                         openssl_ver)
--- 851,857 ----
                  exts.append( Extension('_hashlib', ['_hashopenssl.c'],
                                         include_dirs = ssl_incs,
                                         library_dirs = ssl_libs,
!                                        libraries = ['crypto']) )
              else:
                  print ("warning: openssl 0x%08x is too old for _hashlib" %
                         openssl_ver)
***************
*** 1097,1103 ****
          # We hunt for #define SQLITE_VERSION "n.n.n"
          # We need to find >= sqlite version 3.0.8
          sqlite_incdir = sqlite_libdir = None
!         sqlite_inc_paths = [ '/usr/include',
                               '/usr/include/sqlite',
                               '/usr/include/sqlite3',
                               '/usr/local/include',
--- 1099,1106 ----
          # We hunt for #define SQLITE_VERSION "n.n.n"
          # We need to find >= sqlite version 3.0.8
          sqlite_incdir = sqlite_libdir = None
!         sqlite_inc_paths = [ os.environ.get('WITH_SQLITE_DIR', '/foo') + '/include',
!                              '/usr/include',
                               '/usr/include/sqlite',
                               '/usr/include/sqlite3',
                               '/usr/local/include',
*** ./Modules/ld_so_aix.in	Tue Apr 10 01:07:34 2012
--- ./Modules/ld_so_aix.in	Mon Feb 17 16:41:32 2014
***************
*** 174,182 ****
  else
    CCOPT="-Wl,-bnoentry -Wl,-bE:$expfile -Wl,-bhalt:4"
  fi
! CCOPT="$CCOPT -Wl,-bM:SRE -Wl,-T512 -Wl,-H512 -Wl,-brtl -Wl,-bnortllib -lm -o $objfile"
  
! CCARGS="$args"
  
  # Export list generation.
  #echo $makexp $expfile "$objfile" $objs
--- 174,182 ----
  else
    CCOPT="-Wl,-bnoentry -Wl,-bE:$expfile -Wl,-bhalt:4"
  fi
! CCOPT="$CCOPT -Wl,-bM:SRE -Wl,-T512 -Wl,-H512 -Wl,-brtl -Wl,-bnortllib -o $objfile"
  
! CCARGS="$args -lm"
  
  # Export list generation.
  #echo $makexp $expfile "$objfile" $objs
*** ./Modules/mathmodule.c	Tue Apr 10 01:07:34 2012
--- ./Modules/mathmodule.c	Mon Feb 17 16:41:32 2014
***************
*** 78,84 ****
      /* this function should only ever be called for finite arguments */
      assert(Py_IS_FINITE(x));
      y = fmod(fabs(x), 2.0);
!     n = (int)round(2.0*y);
      assert(0 <= n && n <= 4);
      switch (n) {
      case 0:
--- 80,86 ----
      /* this function should only ever be called for finite arguments */
      assert(Py_IS_FINITE(x));
      y = fmod(fabs(x), 2.0);
!     n = (int)floor(2.0*y + 0.5);
      assert(0 <= n && n <= 4);
      switch (n) {
      case 0:
