diff Modules/_ctypes/libffi.diff @ 59636:db379a90b46e

Merged revisions 78968-78969 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78968 | matthias.klose | 2010-03-15 01:02:36 +0100 (Mon, 15 Mar 2010) | 226 lines - Issue #8142: Update libffi to the 3.0.9 release. ........ r78969 | matthias.klose | 2010-03-15 01:36:18 +0100 (Mon, 15 Mar 2010) | 7 lines Backport from the libffi trunk: 2010-02-15 Matthias Klose <doko@ubuntu.com> * src/arm/sysv.S (__ARM_ARCH__): Define for processor __ARM_ARCH_7EM__. ........
author Matthias Klose <doko@ubuntu.com>
date Mon, 15 Mar 2010 13:25:28 +0000
parents 7a9e081ece4c
children b6387f43cddb
line wrap: on
line diff
--- a/Modules/_ctypes/libffi.diff	Mon Mar 15 13:14:39 2010 +0000
+++ b/Modules/_ctypes/libffi.diff	Mon Mar 15 13:25:28 2010 +0000
@@ -1,33 +1,18 @@
 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
+ftp://sourceware.org/pub/libffi/libffi-3.0.9.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)
+--- libffi/configure.ac.orig	2009-12-31 13:41:51.000000000 +0100
++++ libffi/configure.ac	2010-02-24 00:39:10.341610848 +0100
 @@ -1,4 +1,7 @@
  dnl Process this with autoconf to create configure
 +#
 +# file from libffi - slightly patched for ctypes
 +#
  
- AC_PREREQ(2.59)
+ AC_PREREQ(2.63)
  
-@@ -83,6 +86,9 @@
+@@ -91,6 +94,9 @@
    i?86-*-solaris2.1[[0-9]]*)
  	TARGET=X86_64; TARGETDIR=x86
  	;;
@@ -37,7 +22,7 @@
    i?86-*-*)
  	TARGET=X86; TARGETDIR=x86
  	;;
-@@ -100,10 +106,10 @@
+@@ -108,12 +114,12 @@
  	;;
  
    mips-sgi-irix5.* | mips-sgi-irix6.*)
@@ -45,12 +30,14 @@
 +	TARGET=MIPS_IRIX; TARGETDIR=mips
  	;;
    mips*-*-linux*)
+ 	# Support 128-bit long double for NewABI.
+ 	HAVE_LONG_DOUBLE='defined(__mips64)'
 -	TARGET=MIPS; TARGETDIR=mips
-+	TARGET=MIPS_LINUX; TARGETDIR=mips
++	TARGET=MIPS_IRIX; TARGETDIR=mips
  	;;
  
    powerpc*-*-linux* | powerpc-*-sysv*)
-@@ -156,7 +162,7 @@
+@@ -170,7 +176,7 @@
    AC_MSG_ERROR(["libffi has not been ported to $host."])
  fi
  
@@ -59,59 +46,21 @@
  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 @@
+@@ -399,6 +405,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 @@
+--- libffi/configure.orig	2009-12-31 13:41:51.000000000 +0100
++++ libffi/configure	2010-02-24 00:41:59.829608794 +0100
+@@ -12191,6 +12191,9 @@
    i?86-*-solaris2.1[0-9]*)
  	TARGET=X86_64; TARGETDIR=x86
  	;;
@@ -121,7 +70,7 @@
    i?86-*-*)
  	TARGET=X86; TARGETDIR=x86
  	;;
-@@ -20423,10 +20426,10 @@
+@@ -12208,12 +12211,12 @@
  	;;
  
    mips-sgi-irix5.* | mips-sgi-irix6.*)
@@ -129,12 +78,14 @@
 +	TARGET=MIPS_IRIX; TARGETDIR=mips
  	;;
    mips*-*-linux*)
+ 	# Support 128-bit long double for NewABI.
+ 	HAVE_LONG_DOUBLE='defined(__mips64)'
 -	TARGET=MIPS; TARGETDIR=mips
-+	TARGET=MIPS_LINUX; TARGETDIR=mips
++	TARGET=MIPS_IRIX; TARGETDIR=mips
  	;;
  
    powerpc*-*-linux* | powerpc-*-sysv*)
-@@ -20481,7 +20484,7 @@
+@@ -12272,7 +12275,7 @@
     { (exit 1); exit 1; }; }
  fi
  
@@ -143,24 +94,22 @@
    MIPS_TRUE=
    MIPS_FALSE='#'
  else
-@@ -22712,9 +22715,15 @@
+@@ -14667,7 +14670,13 @@
  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 @@
+@@ -15767,12 +15776,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" ;;
@@ -173,13 +122,22 @@
 +    "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 @@
+   *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+ $as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+--- libffi/src/x86/ffi64.c.orig	2009-12-29 16:22:26.000000000 +0100
++++ libffi/src/x86/ffi64.c	2010-02-24 00:36:46.678610932 +0100
+@@ -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).  */
+--- libffi/src/x86/ffi.c.orig	2009-12-29 16:22:26.000000000 +0100
++++ libffi/src/x86/ffi.c	2010-02-24 00:36:46.678610932 +0100
+@@ -594,10 +594,10 @@
      return FFI_BAD_ABI;
    }
  
@@ -192,16 +150,3 @@
  
    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).  */