Skip to content

Commit 9a65877

Browse files
committed
Merged revisions 79101 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r79101 | matthias.klose | 2010-03-19 19:59:20 +0100 (Fr, 19 Mär 2010) | 3 lines update libffi to commit 59a259f from the trunk (adding msvc port). ........
1 parent 9b86b9a commit 9a65877

33 files changed

+1403
-448
lines changed

Modules/_ctypes/libffi.diff

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -111,31 +111,3 @@ diff -urN libffi.orig/configure.ac libffi/configure.ac
111111
+AC_CONFIG_FILES(fficonfig.py)
112112
+
113113
AC_OUTPUT
114-
diff -urN libffi.orig/src/x86/ffi64.c libffi/src/x86/ffi64.c
115-
--- libffi.orig/src/x86/ffi64.c 2010-03-19 18:27:45.008523897 +0100
116-
+++ libffi/src/x86/ffi64.c 2010-03-19 18:24:36.437500070 +0100
117-
@@ -52,7 +52,7 @@
118-
/* Register class used for passing given 64bit part of the argument.
119-
These represent classes as documented by the PS ABI, with the exception
120-
of SSESF, SSEDF classes, that are basically SSE class, just gcc will
121-
- use SF or DFmode move instead of DImode to avoid reformating penalties.
122-
+ use SF or DFmode move instead of DImode to avoid reformatting penalties.
123-
124-
Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
125-
whenever possible (upper half does contain padding). */
126-
diff -urN libffi.orig/src/x86/ffi.c libffi/src/x86/ffi.c
127-
--- libffi.orig/src/x86/ffi.c 2010-03-19 18:27:45.008523897 +0100
128-
+++ libffi/src/x86/ffi.c 2010-03-19 18:24:36.441496039 +0100
129-
@@ -594,10 +594,10 @@
130-
return FFI_BAD_ABI;
131-
}
132-
133-
- // we currently don't support certain kinds of arguments for raw
134-
+ /* we currently don't support certain kinds of arguments for raw
135-
// closures. This should be implemented by a separate assembly language
136-
// routine, since it would require argument processing, something we
137-
- // don't do now for performance.
138-
+ // don't do now for performance. */
139-
140-
for (i = cif->nargs-1; i >= 0; i--)
141-
{

Modules/_ctypes/libffi/ChangeLog

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,89 @@
1+
2010-03-14 Matthias Klose <doko@ubuntu.com>
2+
3+
* src/x86/ffi64.c: Fix typo in comment.
4+
* src/x86/ffi.c: Use /* ... */ comment style.
5+
6+
2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7+
8+
PR libffi/40701
9+
* testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
10+
PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
11+
* testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
12+
alpha*-dec-osf*.
13+
* testsuite/libffi.call/cls_align_uint64.c: Likewise.
14+
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
15+
* testsuite/libffi.call/return_ll1.c: Likewise.
16+
* testsuite/libffi.call/stret_medium2.c: Likewise.
17+
* testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
18+
MAP_FAILED to char *.
19+
20+
2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21+
22+
* src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
23+
24+
2009-12-31 Anthony Green <green@redhat.com>
25+
26+
* README: Update for libffi 3.0.9.
27+
28+
2009-12-27 Matthias Klose <doko@ubuntu.com>
29+
30+
* configure.ac (HAVE_LONG_DOUBLE): Define for mips when
31+
appropriate.
32+
* configure: Rebuilt.
33+
34+
2009-12-26 Anthony Green <green@redhat.com>
35+
36+
* testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
37+
avr32*-*-*.
38+
* testsuite/libffi.call/cls_double_va.c: Ditto.
39+
40+
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
41+
42+
* testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
43+
and inttypes.h.
44+
* testsuite/libffi.special/unwindtest.cc: Ditto.
45+
46+
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
47+
48+
* configure.ac: Add amd64-*-openbsd*.
49+
* configure: Rebuilt.
50+
* testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
51+
openbsd programs with -lpthread.
52+
53+
2009-12-26 Anthony Green <green@redhat.com>
54+
55+
* testsuite/libffi.call/cls_double_va.c,
56+
testsuite/libffi.call/cls_longdouble.c,
57+
testsuite/libffi.call/cls_longdouble_va.c,
58+
testsuite/libffi.call/cls_pointer.c,
59+
testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
60+
mips*-*-* and arm*-*-*.
61+
* testsuite/libffi.call/cls_align_longdouble_split.c,
62+
testsuite/libffi.call/cls_align_longdouble_split2.c,
63+
testsuite/libffi.call/stret_medium2.c,
64+
testsuite/libffi.call/stret_medium.c,
65+
testsuite/libffi.call/stret_large.c,
66+
testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
67+
68+
2009-12-31 Kay Tietz <ktietz70@googlemail.com>
69+
70+
* testsuite/libffi.call/ffitest.h,
71+
testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
72+
definitions.
73+
74+
2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
75+
76+
* configure.ac (AM_LTLDFLAGS): Define for windows hosts.
77+
* Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
78+
* configure: Rebuilt.
79+
* Makefile.in: Rebuilt.
80+
81+
2009-12-31 Anthony Green <green@redhat.com>
82+
Blake Chaffin.
83+
84+
* testsuite/libffi.call/huge_struct.c: New test case from Blake
85+
Chaffin @ Apple.
86+
187
2009-12-28 David Edelsohn <edelsohn@gnu.org>
288

389
* src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to

Modules/_ctypes/libffi/ChangeLog.libffi

Lines changed: 33 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,42 @@
1-
2009-12-27 Matthias Klose <doko@ubuntu.com>
1+
2010-01-15 Anthony Green <green@redhat.com>
22

3-
* configure.ac (HAVE_LONG_DOUBLE): Define for mips when
4-
appropriate.
5-
* configure: Rebuilt.
6-
7-
2009-12-27 Anthony Green <green@redhat.com>
3+
* README: Add notes on building with Microsoft Visual C++.
84

9-
* testsuite/libffi.call/cls_longdouble.c: Don't xfail for ARM.
5+
2010-01-15 Daniel Witte <dwitte@mozilla.com>
106

11-
2009-12-26 Anthony Green <green@redhat.com>
7+
* msvcc.sh: New file.
128

13-
* testsuite/libffi.call/huge_struct.c: Don't xfail for avr32*-*-*.
14-
* testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
15-
avr32*-*-*.
16-
* testsuite/libffi.call/cls_double_va.c: Ditto.
9+
* src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
10+
* src/x86/ffi.c: Tweak function declaration and remove excess
11+
parens.
12+
* include/ffi.h.in: Add __declspec(align(8)) to typedef struct
13+
ffi_closure.
1714

18-
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
15+
* src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
16+
function ffi_call_win32 on X86_WIN32.
17+
* src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
18+
(ffi_call_STDCALL): Remove.
1919

20-
* testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
21-
and inttypes.h.
22-
* testsuite/libffi.special/unwindtest.cc: Ditto.
23-
* testsuite/libffi.call/huge_struct.c: Don't include stdint.h
24-
directly.
20+
* src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
21+
to ffi_prep_cif_machdep for x86.
22+
* src/x86/ffi.c (ffi_prep_cif_machdep): To here.
2523

26-
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
24+
2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
2725

28-
* configure.ac: Add amd64-*-openbsd*.
29-
* configure: Rebuilt.
30-
* testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
31-
openbsd programs with -lpthread.
26+
* src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
27+
Sun Studio compiler compatibility.
3228

33-
2009-12-26 Anthony Green <green@redhat.com>
29+
2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
3430

35-
* testsuite/libffi.call/cls_double_va.c,
36-
testsuite/libffi.call/cls_longdouble.c,
37-
testsuite/libffi.call/cls_longdouble_va.c,
38-
testsuite/libffi.call/cls_pointer.c,
39-
testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
40-
mips*-*-* and arm*-*-*.
41-
* testsuite/libffi.call/cls_align_longdouble_split.c,
42-
testsuite/libffi.call/cls_align_longdouble_split2.c,
43-
testsuite/libffi.call/stret_medium2.c,
44-
testsuite/libffi.call/stret_medium.c,
45-
testsuite/libffi.call/stret_large.c,
46-
testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
47-
48-
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
49-
Anthony Green <green@redhat.com>
50-
51-
* testsuite/libffi.call/huge_struct.c (test_large_fn): Replace
52-
format code %p with %#lx because %p does not add a leading 0x on
53-
Solaris. Also change relevant arguments to unsigned long.
31+
* doc/libffi.texi: Add closure example.
32+
* doc/libffi.info: Rebuilt.
5433

5534
2009-12-25 Samuli Suominen <ssuominen@gentoo.org>
5635

5736
* configure.ac: Undefine _AC_ARG_VAR_PRECIOUS for autoconf 2.64.
5837
* configure: Rebuilt.
5938
* fficonfig.h.in: Rebuilt.
6039

61-
2009-12-29 Kay Tietz <ktietz70@googlemail.com>
62-
63-
* testsuite/libffi.call/ffitest.h,
64-
testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
65-
definitions.
66-
67-
2009-12-25 Carlo Bramini <carlo.bramix@libero.it>
68-
69-
* configure.ac (AM_LTLDFLAGS): Define for windows hosts.
70-
* Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
71-
* configure: Rebuilt.
72-
* Makefile.in: Rebuilt.
73-
74-
2009-12-24 Anthony Green <green@redhat.com>
75-
76-
* testsuite/libffi.call/huge_struct.c: Fix printf format, and
77-
don't xfail x86 Linux.
78-
* testsuite/libffi.call/huge_struct.c: Don't xfail mips.
79-
* testsuite/libffi.call/cls_pointer.c: Ditto.
80-
* testsuite/libffi.call/cls_pointer_stack.c: Ditto.
81-
* testsuite/libffi.call/cls_longdouble_va.c: Ditto.
82-
* testsuite/libffi.call/cls_longdouble.c: Ditto.
83-
* testsuite/libffi.call/cls_double_va.c: Ditto.
84-
8540
2009-06-16 Andrew Haley <aph@redhat.com>
8641

8742
* testsuite/libffi.call/cls_align_sint64.c,
@@ -257,20 +212,20 @@
257212
2008-12-22 Timothy Wall <twall@users.sf.net>
258213

259214
* testsuite/libffi.call/closure_fn0.c,
260-
testsuite/libffi.call/closure_fn1.c,
261-
testsuite/libffi.call/closure_fn2.c,
262-
testsuite/libffi.call/closure_fn3.c,
263-
testsuite/libffi.call/closure_fn4.c,
264-
testsuite/libffi.call/closure_fn5.c,
265-
testsuite/libffi.call/closure_fn6.c,
266-
testsuite/libffi.call/closure_loc_fn0.c,
267-
testsuite/libffi.call/closure_stdcall.c,
268-
testsuite/libffi.call/cls_align_pointer.c,
269-
testsuite/libffi.call/cls_pointer.c,
215+
testsuite/libffi.call/closure_fn1.c,
216+
testsuite/libffi.call/closure_fn2.c,
217+
testsuite/libffi.call/closure_fn3.c,
218+
testsuite/libffi.call/closure_fn4.c,
219+
testsuite/libffi.call/closure_fn5.c,
220+
testsuite/libffi.call/closure_fn6.c,
221+
testsuite/libffi.call/closure_loc_fn0.c,
222+
testsuite/libffi.call/closure_stdcall.c,
223+
testsuite/libffi.call/cls_align_pointer.c,
224+
testsuite/libffi.call/cls_pointer.c,
270225
testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
271226
pointer to integer (intptr_t).
272227
* testsuite/libffi.call/cls_longdouble.c: disable for win64.
273-
228+
274229
2008-12-19 Anthony Green <green@redhat.com>
275230

276231
* configure.ac: Bump version to 3.0.8.

Modules/_ctypes/libffi/Makefile.am

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
175175

176176
AM_CFLAGS = -Wall -g -fexceptions
177177

178-
libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(AM_LTLDFLAGS)
178+
libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
179179

180180
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
181181
AM_CCASFLAGS = $(AM_CPPFLAGS)
@@ -184,4 +184,3 @@ AM_CCASFLAGS = $(AM_CPPFLAGS)
184184
.PHONY: install-html install-pdf
185185
install-html:
186186
install-pdf:
187-

Modules/_ctypes/libffi/README

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Status
22
======
33

4-
libffi-3.0.9 was released on December 31, 2009. Check the libffi web
4+
libffi-3.0.10 was released on XXXXXXXXXX, 2010. Check the libffi web
55
page for updates: <URL:http://sourceware.org/libffi/>.
66

77

@@ -43,7 +43,7 @@ Libffi has been ported to many different platforms.
4343
For specific configuration details and testing status, please
4444
refer to the wiki page here:
4545

46-
http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.9
46+
http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.10
4747

4848
At the time of release, the following basic configurations have been
4949
tested:
@@ -52,6 +52,7 @@ tested:
5252
| Architecture | Operating System |
5353
|--------------+------------------|
5454
| Alpha | Linux |
55+
| Alpha | Tru64 |
5556
| ARM | Linux |
5657
| AVR32 | Linux |
5758
| HPPA | HPUX |
@@ -80,6 +81,7 @@ tested:
8081
| X86-64 | FreeBSD |
8182
| X86-64 | Linux |
8283
| X86-64 | OpenBSD |
84+
| X86-64 | Windows/MingW |
8385
|--------------+------------------|
8486

8587
Please send additional platform test results to
@@ -107,6 +109,14 @@ will add some extra code which will suppress certain warnings when you
107109
are using Purify with libffi. Only use this switch when using
108110
Purify, as it will slow down the library.
109111

112+
It's also possible to build libffi on Windows platforms with
113+
Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
114+
wrapper script during configuration like so:
115+
116+
path/to/configure --enable-shared --enable-static \
117+
CC=path/to/msvcc.sh LD=link \
118+
CPP=\"cl -nologo -EP\"
119+
110120
Configure has many other options. Use "configure --help" to see them all.
111121

112122
Once configure has finished, type "make". Note that you must be using
@@ -123,6 +133,12 @@ History
123133

124134
See the ChangeLog files for details.
125135

136+
3.0.10 ???-??-??
137+
Fix the N64 build on mips-sgi-irix6.5.
138+
Testsuite fixes for Tru64 Unix.
139+
Enable builds with Microsoft's compiler.
140+
Enable x86 builds with Sun's compiler.
141+
126142
3.0.9 Dec-31-09
127143
Add AVR32 and win64 ports. Add ARM softfp support.
128144
Many fixes for AIX, Solaris, HP-UX, *BSD.

0 commit comments

Comments
 (0)