diff Modules/_ctypes/libffi.diff @ 82740:b10ec5083a53 2.7

Fixes issue #17192: Update the ctypes module's libffi to v3.0.13. This specifically addresses a stack misalignment issue on x86 and issues on some more recent platforms.
author Gregory P. Smith <greg@krypto.org>
date Mon, 18 Mar 2013 16:58:50 -0700
parents 2512c2ad5de7
children f23274357fc8
line wrap: on
line diff
--- a/Modules/_ctypes/libffi.diff	Sun Mar 17 21:28:29 2013 -0700
+++ b/Modules/_ctypes/libffi.diff	Mon Mar 18 16:58:50 2013 -0700
@@ -1,24 +1,26 @@
-diff -urN libffi.orig/configure libffi/configure
---- libffi.orig/configure	2010-03-19 18:29:54.588499862 +0100
-+++ libffi/configure	2010-03-19 18:32:09.113499479 +0100
-@@ -11228,6 +11228,9 @@
-   i?86-*-solaris2.1[0-9]*)
- 	TARGET=X86_64; TARGETDIR=x86
+diff -r -N -u libffi.orig/autom4te.cache/output.0 libffi/autom4te.cache/output.0
+diff -r -N -u libffi.orig/configure libffi/configure
+--- libffi.orig/configure	2013-03-17 15:37:50.000000000 -0700
++++ libffi/configure	2013-03-18 15:11:39.611575163 -0700
+@@ -13368,6 +13368,10 @@
+ 	fi
  	;;
+ 
 +  i*86-*-nto-qnx*)
 +        TARGET=X86; TARGETDIR=x86
 +        ;;
-   i?86-*-*)
- 	TARGET=X86; TARGETDIR=x86
++
+   x86_64-*-darwin*)
+ 	TARGET=X86_DARWIN; TARGETDIR=x86
  	;;
-@@ -11245,12 +11248,12 @@
+@@ -13426,12 +13430,12 @@
  	;;
  
-   mips-sgi-irix5.* | mips-sgi-irix6.*)
+   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
 -	TARGET=MIPS; TARGETDIR=mips
 +	TARGET=MIPS_IRIX; TARGETDIR=mips
  	;;
-   mips*-*-linux*)
+   mips*-*-linux* | mips*-*-openbsd*)
  	# Support 128-bit long double for NewABI.
  	HAVE_LONG_DOUBLE='defined(__mips64)'
 -	TARGET=MIPS; TARGETDIR=mips
@@ -26,8 +28,8 @@
  	;;
  
    powerpc*-*-linux* | powerpc-*-sysv*)
-@@ -11307,7 +11310,7 @@
-   as_fn_error "\"libffi has not been ported to $host.\"" "$LINENO" 5
+@@ -13491,7 +13495,7 @@
+   as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
  fi
  
 - if test x$TARGET = xMIPS; then
@@ -35,7 +37,7 @@
    MIPS_TRUE=
    MIPS_FALSE='#'
  else
-@@ -12422,6 +12425,12 @@
+@@ -14862,6 +14866,12 @@
  ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
  
  
@@ -48,44 +50,45 @@
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
  # tests run on this system so they can be shared between configure
-@@ -13521,6 +13530,8 @@
+@@ -16047,6 +16057,8 @@
      "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
      "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
      "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
 +    "include/ffi_common.h") CONFIG_LINKS="$CONFIG_LINKS include/ffi_common.h:include/ffi_common.h" ;;
 +    "fficonfig.py") CONFIG_FILES="$CONFIG_FILES fficonfig.py" ;;
  
-   *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
    esac
-diff -urN libffi.orig/configure.ac libffi/configure.ac
---- libffi.orig/configure.ac	2010-03-19 18:27:44.988498585 +0100
-+++ libffi/configure.ac	2010-03-19 18:31:29.252505178 +0100
+diff -r -N -u libffi.orig/configure.ac libffi/configure.ac
+--- libffi.orig/configure.ac	2013-03-17 15:37:50.000000000 -0700
++++ libffi/configure.ac	2013-03-18 15:11:11.392989136 -0700
 @@ -1,4 +1,7 @@
  dnl Process this with autoconf to create configure
 +#
-+# file from libffi - slightly patched for ctypes
++# file from libffi - slightly patched for Python's ctypes
 +#
  
- AC_PREREQ(2.63)
+ AC_PREREQ(2.68)
  
-@@ -91,6 +94,9 @@
-   i?86-*-solaris2.1[[0-9]]*)
- 	TARGET=X86_64; TARGETDIR=x86
+@@ -146,6 +149,10 @@
+ 	fi	  
  	;;
+ 
 +  i*86-*-nto-qnx*) 
 +        TARGET=X86; TARGETDIR=x86
 +        ;;
-   i?86-*-*)
- 	TARGET=X86; TARGETDIR=x86
++
+   x86_64-*-darwin*)
+ 	TARGET=X86_DARWIN; TARGETDIR=x86
  	;;
-@@ -108,12 +114,12 @@
+@@ -204,12 +211,12 @@
  	;;
  
-   mips-sgi-irix5.* | mips-sgi-irix6.*)
+   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
 -	TARGET=MIPS; TARGETDIR=mips
 +	TARGET=MIPS_IRIX; TARGETDIR=mips
  	;;
-   mips*-*-linux*)
+   mips*-*-linux* | mips*-*-openbsd*)
  	# Support 128-bit long double for NewABI.
  	HAVE_LONG_DOUBLE='defined(__mips64)'
 -	TARGET=MIPS; TARGETDIR=mips
@@ -93,16 +96,16 @@
  	;;
  
    powerpc*-*-linux* | powerpc-*-sysv*)
-@@ -170,7 +176,7 @@
+@@ -269,7 +276,7 @@
    AC_MSG_ERROR(["libffi has not been ported to $host."])
  fi
  
 -AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
 +AM_CONDITIONAL(MIPS,[expr x$TARGET : 'xMIPS' > /dev/null])
+ AM_CONDITIONAL(BFIN, test x$TARGET = xBFIN)
  AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
  AM_CONDITIONAL(X86, test x$TARGET = xX86)
- AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-@@ -401,4 +407,8 @@
+@@ -567,4 +574,8 @@
  
  AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)