From: Thomas Heller Date: Fri, 8 May 2009 20:09:40 +0000 (+0000) Subject: Add a file that contains diffs between offical libffi files and the X-Git-Tag: v2.7a1~1240 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fd1ee7a8a02a6785329ae31971d910d15e5235f3;p=python Add a file that contains diffs between offical libffi files and the files in this repository. Should make it easier to merge new libffi versions. --- diff --git a/Modules/_ctypes/libffi.diff b/Modules/_ctypes/libffi.diff new file mode 100644 index 0000000000..6765902ed0 --- /dev/null +++ b/Modules/_ctypes/libffi.diff @@ -0,0 +1,207 @@ +This file contains the diffs between the files in the libffi +subdirectory and the 'official' source files from +ftp://sourceware.org/pub/libffi/libffi-3.0.5.tar.gz + +Index: libffi/aclocal.m4 +=================================================================== +--- libffi/aclocal.m4 (working copy) ++++ libffi/aclocal.m4 (revision 72475) +@@ -1155,7 +1155,7 @@ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + +- # We can hardcode non-existant directories. ++ # We can hardcode non-existent directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library +Index: libffi/configure.ac +=================================================================== +--- libffi/configure.ac (working copy) ++++ libffi/configure.ac (revision 72475) +@@ -1,4 +1,7 @@ + dnl Process this with autoconf to create configure ++# ++# file from libffi - slightly patched for ctypes ++# + + AC_PREREQ(2.59) + +@@ -83,6 +86,9 @@ + i?86-*-solaris2.1[[0-9]]*) + TARGET=X86_64; TARGETDIR=x86 + ;; ++ i*86-*-nto-qnx*) ++ TARGET=X86; TARGETDIR=x86 ++ ;; + i?86-*-*) + TARGET=X86; TARGETDIR=x86 + ;; +@@ -100,10 +106,10 @@ + ;; + + mips-sgi-irix5.* | mips-sgi-irix6.*) +- TARGET=MIPS; TARGETDIR=mips ++ TARGET=MIPS_IRIX; TARGETDIR=mips + ;; + mips*-*-linux*) +- TARGET=MIPS; TARGETDIR=mips ++ TARGET=MIPS_LINUX; TARGETDIR=mips + ;; + + powerpc*-*-linux* | powerpc-*-sysv*) +@@ -156,7 +162,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(SPARC, test x$TARGET = xSPARC) + AM_CONDITIONAL(X86, test x$TARGET = xX86) + AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD) +@@ -360,6 +366,10 @@ + + AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h) + +-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc) ++AC_CONFIG_FILES(include/ffi.h) + ++AC_CONFIG_LINKS(include/ffi_common.h:include/ffi_common.h) ++ ++AC_CONFIG_FILES(fficonfig.py) ++ + AC_OUTPUT +Index: libffi/configure +=================================================================== +--- libffi/configure (working copy) ++++ libffi/configure (revision 72475) +@@ -9546,7 +9546,7 @@ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + +- # We can hardcode non-existant directories. ++ # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library +@@ -13514,7 +13514,7 @@ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + +- # We can hardcode non-existant directories. ++ # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library +@@ -16117,7 +16117,7 @@ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + +- # We can hardcode non-existant directories. ++ # We can hardcode non-existent directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library +@@ -18720,7 +18720,7 @@ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + +- # We can hardcode non-existant directories. ++ # We can hardcode non-existent directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library +@@ -20406,6 +20406,9 @@ + i?86-*-solaris2.1[0-9]*) + TARGET=X86_64; TARGETDIR=x86 + ;; ++ i*86-*-nto-qnx*) ++ TARGET=X86; TARGETDIR=x86 ++ ;; + i?86-*-*) + TARGET=X86; TARGETDIR=x86 + ;; +@@ -20423,10 +20426,10 @@ + ;; + + mips-sgi-irix5.* | mips-sgi-irix6.*) +- TARGET=MIPS; TARGETDIR=mips ++ TARGET=MIPS_IRIX; TARGETDIR=mips + ;; + mips*-*-linux*) +- TARGET=MIPS; TARGETDIR=mips ++ TARGET=MIPS_LINUX; TARGETDIR=mips + ;; + + powerpc*-*-linux* | powerpc-*-sysv*) +@@ -20481,7 +20484,7 @@ + { (exit 1); exit 1; }; } + fi + +- if test x$TARGET = xMIPS; then ++ if expr x$TARGET : 'xMIPS' > /dev/null; then + MIPS_TRUE= + MIPS_FALSE='#' + else +@@ -22712,9 +22715,15 @@ + ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h" + + +-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc" ++ac_config_files="$ac_config_files include/ffi.h" + + ++ac_config_links="$ac_config_links include/ffi_common.h:include/ffi_common.h" ++ ++ ++ac_config_files="$ac_config_files fficonfig.py" ++ ++ + 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 +@@ -23498,12 +23507,9 @@ + "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;; + "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;; + "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;; +- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;; +- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; +- "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" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 + echo "$as_me: error: invalid argument: $ac_config_target" >&2;} +Index: libffi/src/x86/ffi.c +=================================================================== +--- libffi/src/x86/ffi.c (working copy) ++++ libffi/src/x86/ffi.c (revision 72475) +@@ -388,10 +388,10 @@ + return FFI_BAD_ABI; + } + +- // we currently don't support certain kinds of arguments for raw ++ /* we currently don't support certain kinds of arguments for raw + // closures. This should be implemented by a separate assembly language + // routine, since it would require argument processing, something we +- // don't do now for performance. ++ // don't do now for performance. */ + + for (i = cif->nargs-1; i >= 0; i--) + { +Index: libffi/src/x86/ffi64.c +=================================================================== +--- libffi/src/x86/ffi64.c (working copy) ++++ libffi/src/x86/ffi64.c (revision 72475) +@@ -52,7 +52,7 @@ + /* Register class used for passing given 64bit part of the argument. + These represent classes as documented by the PS ABI, with the exception + of SSESF, SSEDF classes, that are basically SSE class, just gcc will +- use SF or DFmode move instead of DImode to avoid reformating penalties. ++ use SF or DFmode move instead of DImode to avoid reformatting penalties. + + Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves + whenever possible (upper half does contain padding). */