Commit Graph

249 Commits

Author SHA1 Message Date
Jeroen Ruigrok van der Werven
422c7423b8 FreeBSD is not a sysv platform, so use freebsd.S instead of sysv.S (as is
also the case in FreeBSD's port of libffi).

Reviewed by: dickinsm
2010-04-07 14:33:37 +00:00
Martin v. Löwis
16ea548f69 Issue #8314: Fix unsigned long long bug in libffi on Sparc v8. 2010-04-07 11:01:46 +00:00
Thomas Heller
b102ddadcb Revert rev. 79509; ctypes doesn't build on linux. 2010-03-30 20:57:06 +00:00
Thomas Heller
5006ba0fef Merged revisions 79115,79424,79491 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/branch_libffi-3_0_10-win

........
  r79115 | thomas.heller | 2010-03-19 22:14:47 +0100 (Fr, 19 Mrz 2010) | 7 lines

  Work in progress.  2 tests fail on x86/win32 because the stack
  checking code in ffi_call_win32 is not yet implemented.

  Remove most files from _ctypes/libffi_msvc, only two include files
  stay (updated from _ctypes/libffi/...).  Other files are used in the
  cross-platform _ctypes/libffi directory.
........
  r79424 | thomas.heller | 2010-03-25 19:28:02 +0100 (Do, 25 Mrz 2010) | 1 line

  Build _ctypes on Win64.
........
  r79491 | thomas.heller | 2010-03-29 21:30:33 +0200 (Mo, 29 Mrz 2010) | 4 lines

  On Windows, ctypes does no longer check the stack before and after
  calling a foreign function.
  This allows to use the unmodified libffi library.
........
2010-03-30 19:46:23 +00:00
Larry Hastings
402b73fb8d Backported PyCapsule from 3.1, and converted most uses of
CObject to PyCapsule.
2010-03-25 00:54:54 +00:00
Florent Xicluna
eba2aca4bd Preserve backward compatibility of the ctypes module.
"This file should be kept compatible with Python 2.3, see PEP 291."
2010-03-22 16:36:51 +00:00
Florent Xicluna
9e7a4c9738 Issue #7703: ctypes supports both buffer() and memoryview(). The former is deprecated.
Complement of r79288.
2010-03-22 16:07:38 +00:00
Matthias Klose
67e37f2ec2 update libffi to commit 59a259f4d348f593b45f452309f4d020a28051c4 from the
trunk (adding msvc port).
2010-03-19 18:59:20 +00:00
Matthias Klose
4854c969fb Generate libffi's Makefiles again to be able to run the libffi testsuite
-- Diese und die folgenden Zeilen werden ignoriert --

M    _ctypes/libffi/configure
M    _ctypes/libffi/configure.ac
M    _ctypes/libffi/aclocal.m4
M    _ctypes/libffi.diff
2010-03-19 17:46:33 +00:00
Matthias Klose
d72ca858a6 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__.
2010-03-15 00:36:18 +00:00
Matthias Klose
817acef0e6 - Issue #8142: Update libffi to the 3.0.9 release.
-- Diese und die folgenden Zeilen werden ignoriert --

M    Misc/NEWS
A    Modules/_ctypes/libffi/m4
A    Modules/_ctypes/libffi/m4/ltsugar.m4
A    Modules/_ctypes/libffi/m4/libtool.m4
A    Modules/_ctypes/libffi/m4/ltversion.m4
A    Modules/_ctypes/libffi/m4/lt~obsolete.m4
A    Modules/_ctypes/libffi/m4/ltoptions.m4
A    Modules/_ctypes/libffi/ChangeLog.libffi
M    Modules/_ctypes/libffi/configure
M    Modules/_ctypes/libffi/Makefile.in
M    Modules/_ctypes/libffi/fficonfig.h.in
M    Modules/_ctypes/libffi/src/arm/sysv.S
M    Modules/_ctypes/libffi/src/powerpc/ffitarget.h
M    Modules/_ctypes/libffi/src/powerpc/aix.S
M    Modules/_ctypes/libffi/src/powerpc/ffi.c
M    Modules/_ctypes/libffi/src/powerpc/sysv.S
M    Modules/_ctypes/libffi/src/powerpc/ffi_darwin.c
M    Modules/_ctypes/libffi/src/powerpc/aix_closure.S
A    Modules/_ctypes/libffi/src/closures.c
D    Modules/_ctypes/libffi/src/darwin/ffitarget.h
M    Modules/_ctypes/libffi/src/sh64/ffi.c
M    Modules/_ctypes/libffi/src/sh64/sysv.S
M    Modules/_ctypes/libffi/src/x86/ffi64.c
M    Modules/_ctypes/libffi/src/x86/ffitarget.h
M    Modules/_ctypes/libffi/src/x86/win32.S
M    Modules/_ctypes/libffi/src/x86/darwin.S
M    Modules/_ctypes/libffi/src/x86/ffi.c
M    Modules/_ctypes/libffi/src/x86/sysv.S
A    Modules/_ctypes/libffi/src/x86/win64.S
M    Modules/_ctypes/libffi/src/x86/unix64.S
A    Modules/_ctypes/libffi/src/types.c
A    Modules/_ctypes/libffi/src/avr32
A    Modules/_ctypes/libffi/src/avr32/ffitarget.h
A    Modules/_ctypes/libffi/src/avr32/ffi.c
A    Modules/_ctypes/libffi/src/avr32/sysv.S
M    Modules/_ctypes/libffi/src/frv/ffi.c
M    Modules/_ctypes/libffi/src/s390/sysv.S
M    Modules/_ctypes/libffi/src/pa/ffi.c
A    Modules/_ctypes/libffi/src/raw_api.c
A    Modules/_ctypes/libffi/src/java_raw_api.c
A    Modules/_ctypes/libffi/src/debug.c
M    Modules/_ctypes/libffi/src/sparc/ffi.c
M    Modules/_ctypes/libffi/src/sparc/v8.S
M    Modules/_ctypes/libffi/src/mips/ffitarget.h
M    Modules/_ctypes/libffi/src/mips/n32.S
M    Modules/_ctypes/libffi/src/mips/o32.S
M    Modules/_ctypes/libffi/src/mips/ffi.c
A    Modules/_ctypes/libffi/src/dlmalloc.c
M    Modules/_ctypes/libffi/src/sh/ffi.c
M    Modules/_ctypes/libffi/src/sh/sysv.S
AM   Modules/_ctypes/libffi/depcomp
AM   Modules/_ctypes/libffi/compile
M    Modules/_ctypes/libffi/config.guess
AM   Modules/_ctypes/libffi/ltmain.sh
M    Modules/_ctypes/libffi/config.sub
AM   Modules/_ctypes/libffi/mdate-sh
M    Modules/_ctypes/libffi/configure.ac
A    Modules/_ctypes/libffi/doc
A    Modules/_ctypes/libffi/doc/libffi.texi
A    Modules/_ctypes/libffi/doc/stamp-vti
A    Modules/_ctypes/libffi/doc/libffi.info
A    Modules/_ctypes/libffi/doc/version.texi
A    Modules/_ctypes/libffi/texinfo.tex
A    Modules/_ctypes/libffi/man
A    Modules/_ctypes/libffi/man/ffi_call.3
A    Modules/_ctypes/libffi/man/Makefile.in
A    Modules/_ctypes/libffi/man/ffi.3
A    Modules/_ctypes/libffi/man/Makefile.am
A    Modules/_ctypes/libffi/man/ffi_prep_cif.3
A    Modules/_ctypes/libffi/ChangeLog.libgcj
M    Modules/_ctypes/libffi/LICENSE
M    Modules/_ctypes/libffi/include/ffi.h.in
M    Modules/_ctypes/libffi/include/Makefile.in
M    Modules/_ctypes/libffi/include/ffi_common.h
M    Modules/_ctypes/libffi/include/Makefile.am
A    Modules/_ctypes/libffi/libtool-version
A    Modules/_ctypes/libffi/ChangeLog
A    Modules/_ctypes/libffi/testsuite
A    Modules/_ctypes/libffi/testsuite/Makefile.in
A    Modules/_ctypes/libffi/testsuite/libffi.call
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_ushort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_medium.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_uint16.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_uc.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct5.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/err_bad_abi.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_7_1_byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct5.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_double.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct7.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_sl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct7.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct9.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_sint.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct9.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_pointer.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/many_win32.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_20byte1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_sshortchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_sint64.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/many.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/strlen.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_3byte2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ldl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_large.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_schar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_uchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_9byte1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/err_bad_typedef.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_19byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_float.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_longdouble_split.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/problem1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_dbl2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn5.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_double.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_2byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/promotion.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct10.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ll1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_4byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_6byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_longdouble.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/huge_struct.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_8byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_sshort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_uint32.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_sint16.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_double_va.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_sc.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_20byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_float.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_pointer_stack.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_5_1_byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_24byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct6.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_loc_fn0.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct8.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct6.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/testclosure.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct8.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_64byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ul.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_uint.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_dbls_struct.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/strlen_win32.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/pyobjc-tc.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_large2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_ushortchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_dbl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_schar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_uchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_uint64.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_longdouble.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_ulonglong.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_1_1byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ll.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_3_1byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_12byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_4_1byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_3byte1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/ffitest.h
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_6_1_byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_16byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_18byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn0.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_9byte2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_longdouble_va.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_dbl1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_stdcall.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_medium2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/negint.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_ushort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/call.exp
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn6.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_5byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_7byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_pointer.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_sint32.c
A    Modules/_ctypes/libffi/testsuite/config
A    Modules/_ctypes/libffi/testsuite/config/default.exp
A    Modules/_ctypes/libffi/testsuite/lib
A    Modules/_ctypes/libffi/testsuite/lib/target-libpath.exp
A    Modules/_ctypes/libffi/testsuite/lib/wrapper.exp
A    Modules/_ctypes/libffi/testsuite/lib/libffi-dg.exp
A    Modules/_ctypes/libffi/testsuite/Makefile.am
A    Modules/_ctypes/libffi/testsuite/libffi.special
A    Modules/_ctypes/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
A    Modules/_ctypes/libffi/testsuite/libffi.special/unwindtest.cc
A    Modules/_ctypes/libffi/testsuite/libffi.special/special.exp
A    Modules/_ctypes/libffi/testsuite/libffi.special/ffitestcxx.h
M    Modules/_ctypes/libffi/README
A    Modules/_ctypes/libffi/libffi.pc.in
M    Modules/_ctypes/libffi/Makefile.am
M    Modules/_ctypes/libffi/missing
A    Modules/_ctypes/libffi/ChangeLog.v1
M    Modules/_ctypes/libffi/aclocal.m4
M    Modules/_ctypes/libffi.diff
2010-03-15 00:02:36 +00:00
Thomas Heller
92bd059c67 ctypes CThunkObject was not registered correctly with the cycle
garbage collector, leading to possible leaks when using callback
functions.
2010-02-23 20:11:44 +00:00
Antoine Pitrou
8c510e704e Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
Patch by Florent Xicluna.
2010-01-13 11:47:49 +00:00
Georg Brandl
e363b1434d Fix refleaks in _ctypes PyCSimpleType_New, which fixes the refleak seen in test___all__. 2009-10-17 08:57:43 +00:00
Ronald Oussoren
16766d7cd6 Merge a newer version of libffi_osx, based on the
version of libffi in OSX 10.6.1.

This fixes issue6918
2009-09-20 18:54:16 +00:00
Thomas Heller
d25fb2ff1f Remove unused variable and static function to fix compiler warnings. 2009-09-19 10:04:54 +00:00
Thomas Heller
6be522bfc2 Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)
does now always result in NULL.
2009-09-18 20:05:44 +00:00
Thomas Heller
7a352c0ed8 Issue #5042: Structure sub-subclass does now initialize correctly with
base class positional arguments.
2009-09-18 18:55:17 +00:00
Thomas Heller
81809a42c1 Make ctypes compile again with older Python versions. 2009-09-08 19:24:36 +00:00
Thomas Heller
d8431ae3bd Revert rev 74134, as it does not completely fixx issue #6493. 2009-07-21 19:04:02 +00:00
Thomas Heller
6adda9641d Issue #6493: Fix a ctypes problem setting bitfields more than 31 bits
wide.
2009-07-21 06:27:14 +00:00
Mark Dickinson
cf4ad76a0a typos in ctypes Module 2009-05-20 17:55:31 +00:00
Jeffrey Yasskin
1aa4700234 PyCode_NewEmpty:
Most uses of PyCode_New found by http://www.google.com/codesearch?q=PyCode_New
are trying to build an empty code object, usually to put it in a dummy frame
object. This patch adds a PyCode_NewEmpty wrapper which lets the user specify
just the filename, function name, and first line number, instead of also
requiring lots of code internals.
2009-05-08 21:51:06 +00:00
Thomas Heller
fd1ee7a8a0 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.
2009-05-08 20:09:40 +00:00
Mark Dickinson
929ab93489 Issue #5933: Fix some gcc -Wextra warnings. Thanks Victor Stinner for
the patch.
2009-05-05 17:41:47 +00:00