Mercurial > cpython-lru_cache-weakref
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)
