summaryrefslogtreecommitdiffstats
path: root/Modules/_ctypes/libffi.diff
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2009-05-08 20:42:26 (GMT)
committerBenjamin Peterson <benjamin@python.org>2009-05-08 20:42:26 (GMT)
commit25c95f12987c08f446f355db6b9a807f3dea76a0 (patch)
tree9d70b6e22b45cec0e40cc6d5d174d03012af7f50 /Modules/_ctypes/libffi.diff
parent8a282d175b5a9f1cd48c5de506fb02d60b20d6d5 (diff)
downloadcpython-25c95f12987c08f446f355db6b9a807f3dea76a0.zip
cpython-25c95f12987c08f446f355db6b9a807f3dea76a0.tar.gz
cpython-25c95f12987c08f446f355db6b9a807f3dea76a0.tar.bz2
Merged revisions 70768,71657,71721,71729,71794,71976,72036-72037,72079,72085,72131-72134,72191,72197-72198,72219,72221,72225,72303,72434,72467,72476 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r70768 | andrew.kuchling | 2009-03-30 17:29:15 -0500 (Mon, 30 Mar 2009) | 1 line Typo fixes ........ r71657 | vinay.sajip | 2009-04-16 14:07:37 -0500 (Thu, 16 Apr 2009) | 1 line Issue #5768: Change to Unicode output logic and test case for same. ........ r71721 | benjamin.peterson | 2009-04-18 14:26:19 -0500 (Sat, 18 Apr 2009) | 1 line fix a few nits in unittest.py #5771 ........ r71729 | benjamin.peterson | 2009-04-18 16:03:10 -0500 (Sat, 18 Apr 2009) | 1 line move test to a more appropiate one ........ r71794 | vinay.sajip | 2009-04-22 07:10:47 -0500 (Wed, 22 Apr 2009) | 2 lines Issue #5170: Fixed regression caused when fixing #5768. ........ r71976 | mark.dickinson | 2009-04-26 14:54:55 -0500 (Sun, 26 Apr 2009) | 2 lines Fix typo in function name ........ r72036 | georg.brandl | 2009-04-27 12:04:23 -0500 (Mon, 27 Apr 2009) | 1 line #5848: small unittest doc patch. ........ r72037 | georg.brandl | 2009-04-27 12:09:53 -0500 (Mon, 27 Apr 2009) | 1 line #5840: dont claim we dont support TLS. ........ r72079 | r.david.murray | 2009-04-28 14:02:55 -0500 (Tue, 28 Apr 2009) | 2 lines Remove spurious 'u'. ........ r72085 | georg.brandl | 2009-04-28 16:48:35 -0500 (Tue, 28 Apr 2009) | 1 line Make the doctests in the docs pass, except for those in the turtle module. ........ r72131 | benjamin.peterson | 2009-04-29 17:43:35 -0500 (Wed, 29 Apr 2009) | 1 line fix test_shutil on ZFS #5676 ........ r72132 | georg.brandl | 2009-04-29 17:44:07 -0500 (Wed, 29 Apr 2009) | 1 line #5878: fix repr of re object. ........ r72133 | benjamin.peterson | 2009-04-29 17:44:15 -0500 (Wed, 29 Apr 2009) | 1 line make sure mode is removable while cleaning up test droppings ........ r72134 | benjamin.peterson | 2009-04-29 19:06:33 -0500 (Wed, 29 Apr 2009) | 1 line make sure to close file ........ r72191 | michael.foord | 2009-05-02 06:43:06 -0500 (Sat, 02 May 2009) | 9 lines Adds an exit parameter to unittest.main(). If False main no longer calls sys.exit. Closes issue 3379. Michael Foord ........ r72197 | benjamin.peterson | 2009-05-02 11:24:37 -0500 (Sat, 02 May 2009) | 1 line don't let sys.argv be used in the tests ........ r72198 | andrew.kuchling | 2009-05-02 12:12:15 -0500 (Sat, 02 May 2009) | 1 line Add items ........ r72219 | michael.foord | 2009-05-02 15:15:05 -0500 (Sat, 02 May 2009) | 8 lines Add addCleanup and doCleanups to unittest.TestCase. Closes issue 5679. Michael Foord ........ r72221 | benjamin.peterson | 2009-05-02 15:26:53 -0500 (Sat, 02 May 2009) | 1 line add myself ........ r72225 | michael.foord | 2009-05-02 17:43:34 -0500 (Sat, 02 May 2009) | 1 line ........ r72303 | benjamin.peterson | 2009-05-04 19:55:24 -0500 (Mon, 04 May 2009) | 1 line using sys._getframe(x), where x > 0 doesnt' work on IronPython ........ r72434 | r.david.murray | 2009-05-07 13:09:58 -0500 (Thu, 07 May 2009) | 2 lines Pre-opened test file needs to be opened in binary mode. ........ r72467 | georg.brandl | 2009-05-08 07:17:34 -0500 (Fri, 08 May 2009) | 1 line Fix name. ........ r72476 | thomas.heller | 2009-05-08 15:09:40 -0500 (Fri, 08 May 2009) | 4 lines 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. ........
Diffstat (limited to 'Modules/_ctypes/libffi.diff')
-rw-r--r--Modules/_ctypes/libffi.diff207
1 files changed, 207 insertions, 0 deletions
diff --git a/Modules/_ctypes/libffi.diff b/Modules/_ctypes/libffi.diff
new file mode 100644
index 0000000..6765902
--- /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). */