kc3-lang/libffi/src/x86

Branch :


Log

Author Commit Date CI Message
bfcbf329 2014-09-20 06:51:45 2014-05-11 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix current cygwin-64 build problems. * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API). * src/x86/ffi.c: Add if defined(__CYGWIN__). * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT. Added SEH information. Fixed formatting.
6e8a4460 2014-09-20 06:21:19 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * src/types.c (FFI_TYPEDEF, FFI_NONCONST_TYPEDEF): Merge the macros by adding another argument that controls whether the result is const or not (FFI_LDBL_CONST): Temporary macro to reduce ifdef confusion * src/prep_cif.c (ffi_prep_cif_core): Replace list of systems with new macro FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION * src/pa/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. * src/s390/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. * src/x86/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * doc/libffi.texi (Primitive Types): Document ffi_type_complex_float, ffi_type_complex_double and ffi_type_complex_longdouble (Complex Types): New subsection. (Complex Type Example): Ditto. * testsuite/libffi.call/cls_align_complex_double.c: New FFI_TYPE_COMPLEX test. * testsuite/libffi.call/cls_align_complex_float.c: Ditto. * testsuite/libffi.call/cls_align_complex_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_double.c: Ditto. * testsuite/libffi.call/cls_complex_float.c: Ditto. * testsuite/libffi.call/cls_complex_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_struct_double.c: Ditto. * testsuite/libffi.call/cls_complex_struct_float.c: Ditto. * testsuite/libffi.call/cls_complex_struct_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_va_double.c: Ditto. * testsuite/libffi.call/cls_complex_va_float.c: Ditto. * testsuite/libffi.call/cls_complex_va_longdouble.c: Ditto. * testsuite/libffi.call/complex_double.c: Ditto. * testsuite/libffi.call/complex_defs_double.c: Ditto. * testsuite/libffi.call/complex_float.c: Ditto. * testsuite/libffi.call/complex_defs_float.c: Ditto. * testsuite/libffi.call/complex_longdouble.c: Ditto. * testsuite/libffi.call/complex_defs_longdouble.c: Ditto. * testsuite/libffi.call/complex_int.c: Ditto. * testsuite/libffi.call/many_complex_double.c: Ditto. * testsuite/libffi.call/many_complex_float.c: Ditto. * testsuite/libffi.call/many_complex_longdouble.c: Ditto. * testsuite/libffi.call/return_complex1_double.c: Ditto. * testsuite/libffi.call/return_complex1_float.c: Ditto. * testsuite/libffi.call/return_complex1_longdouble.c: Ditto. * testsuite/libffi.call/return_complex2_double.c: Ditto. * testsuite/libffi.call/return_complex2_float.c: Ditto. * testsuite/libffi.call/return_complex2_longdouble.c: Ditto. * testsuite/libffi.call/return_complex_double.c: Ditto. * testsuite/libffi.call/return_complex_float.c: Ditto. * testsuite/libffi.call/return_complex_longdouble.c: Ditto. * src/raw_api.c (ffi_raw_to_ptrarray): Handle FFI_TYPE_COMPLEX (ffi_ptrarray_to_raw): Ditto. * src/prep_cif.c (ffi_prep_cif_core): Abort if FFI_TYPE_COMPLEX is not implemented in libffi for the target. * src/java_raw_api.c (ffi_java_raw_size): FFI_TYPE_COMPLEX not supported yet (abort). (ffi_java_raw_to_ptrarray): Ditto. (ffi_java_rvalue_to_raw): Ditto. (ffi_java_raw_to_rvalue): Ditto. * src/debug.c (ffi_type_test): Add debug tests for complex types. * include/ffi.h.in (FFI_TYPE_COMPLEX): Add new FFI_TYPE_COMPLEX. (FFI_TYPE_LAST): Bump. (ffi_type_complex_float): Add new ffi_type_.... (ffi_type_complex_double): Ditto. (ffi_type_complex_longdouble): Ditto. 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * src/s390/ffitarget.h (FFI_TARGET_HAS_COMPLEX_TYPE): Define to provide FFI_TYPE_COMPLEX support. * src/s390/ffi.c (ffi_check_struct_type): Implement FFI_TYPE_COMPLEX (ffi_prep_args): Ditto. (ffi_prep_cif_machdep): Ditto. (ffi_closure_helper_SYSV): Ditto.
5d6340ef 2014-08-25 17:29:44 Determine whether register arguments (THISCALL/FASTCALL/REGISTER) are really passed via register to closures. Use stack if not.
6e346487 2014-08-25 12:23:29 Fixed THISCALL/FASTCALL closures and added basic support for PASCAL/REGISTER closures.
098dca6b 2014-08-23 00:18:47 Support for calling functions with PASCAL and REGISTER calling conventions on x86 Windows/Linux. Also changed indentation to be more consistent throughout the (adjusted) files.
978c9540 2014-05-31 08:53:10 Add missing GNU stack markings in win32.S
99909eb6 2014-04-22 21:17:52 src/x86/win32.S: Define ffi_closure_FASTCALL in the MASM section, too
d3695227 2014-04-20 12:03:25 Support fastcall closures libffi on 32-bit x86 now supports closures for all supported ABIs. Thus, rewrite the last remaining duplicated-by-ABI test (closure_stdcall and closure_thiscall) to use the generic ABI_NUM/ABI_ATTR mechanism.
3e2b84d2 2014-04-12 01:04:04 Fix Windows regression Introduced by b5fed601948237037513a9b7f967c8fc6c9ff1f6.
b5fed601 2014-04-05 17:33:42 Fix ABI on 32-bit non-Windows x86: go back to trampoline size 10 The trampoline size is part of the ABI, so it cannot change. Move the logic from the stdcall and thiscall trampolines to the functions they call, to reduce them both to 10 bytes. This drops the previously added support for raw THISCALL closures on non-Windows. (Non-raw THISCALL closures still work.)
afee5373 2014-03-25 16:12:35 Merge pull request #106 from joshtriplett/darwin-award [3.1 blocker] Update OS X build system to include win32.S on 32-bit
7d247856 2014-03-25 16:12:17 Merge pull request #110 from joshtriplett/w64 Fix 64-bit Windows support
be50b87a 2014-03-24 21:44:13 Always use configure to detect whether global symbols need underscores 64-bit Windows already used this check; make it universal, and use it in place of an ifdef on X86_WIN32, to handle non-Windows platforms that use the underscore, such as Darwin.
56be47f8 2014-03-24 21:24:53 Fix a warning on 64-bit Windows When sizeof(size_t) != sizeof(unsigned), adding a size_t to cif->bytes produces a "possible loss of data" warning. However, the size_t in question refers to the size of a single parameter. Use a cast to avoid the warning.
48a8eda7 2014-03-24 21:21:12 Avoid referencing undefined ABIs on 64-bit Windows builds 64-bit Windows does not have FFI_STDCALL, FFI_THISCALL, or FFI_FASTCALL.
f0f4138f 2014-03-22 10:00:53 win32.S: Add handling for position-independent code on Darwin Newer versions of Darwin generate the necessary stub functions automatically and just need a call instruction, but accomodating older versions as well requires adding the stub.
ef5890eb 2014-03-21 11:01:39 win32.S: Use shifting for multiplication rather than repeated addition The jump table code added a register to itself twice to multiply by 4; shift the register left by 2 instead.
4fca4890 2014-03-21 11:00:41 win32.S: Make the jump tables position-independent Now that non-Windows platforms include win32.S, it needs to support building as position-independent code. This fixes build failures on target platforms that do not allow text relocations.
2087dcf7 2014-03-21 10:57:06 win32.S: Make calls to ffi_closure_SYSV_inner position-independent Now that non-Windows platforms include win32.S, it needs to support building as position-independent code. This fixes one source of build failures on target platforms that do not allow text relocations.
e1911f78 2014-03-16 03:25:53 Add support for stdcall, thiscall, and fastcall on non-Windows x86-32 Linux supports the stdcall calling convention, either via functions explicitly declared with the stdcall attribute, or via code compiled with -mrtd which effectively makes stdcall the default. This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on non-Windows x86-32 platforms, as non-default calling conventions.
edf29c51 2014-02-28 00:50:25 Merge pull request #75 from joshtriplett/longdouble Fix build error on x86 without distinct long double
3998d260 2014-02-17 11:20:33 Fix build error on x86 without distinct long double src/x86/ffi64.c: In function 'classify_argument': src/x86/ffi64.c:205:5: error: duplicate case value case FFI_TYPE_LONGDOUBLE: ^ src/x86/ffi64.c:202:5: error: previously used here case FFI_TYPE_DOUBLE: ^
9da28b44 2013-12-30 16:23:21 Darwin/x86_64: Fix 64-bit type shortening warnings
13675341 2014-01-09 13:42:08 Darwin/i386: Inhibit Clang previous prototype warnings
3dc3f32c 2013-12-05 16:23:25 Undo iOS ARM64 changes.
33c46ce5 2013-11-30 04:13:42 Darwin/Mac: Fix 64/32 shortening warnings
16ba1b80 2012-04-11 23:26:04 Darwin: Silence Clang warnings.
becd7544 2013-11-06 06:43:49 Align the stack pointer to 16-bytes.
05c31093 2013-11-06 06:40:58 Mark executable as not requiring executable stack.
6aa15900 2013-09-05 12:05:06 Don't use 16 byte aligned stack for WIN32 This fixes a crash when accessing __stdcall functions in Python ctypes.
b8a91d81 2013-07-02 10:57:37 added include for xmmintrin.h
ee18766b 2013-03-14 15:00:33 Fix for a crasher due to misaligned stack on x86-32. Full information on reproduction (using Python's ctypes available here: http://bugs.python.org/issue17423)
fd07c9e4 2013-02-07 18:00:36 Add cache flushing routine for sun compiler on sparc solaris 2.8
6a790129 2013-02-06 17:37:15 Work around LLVM ABI problem on x86-64
8bf987d4 2013-01-10 17:24:51 Fix for sunpro compiler on Solaris
2d9b3939 2013-01-09 21:14:54 Fix for closures with sunpro compiler
35ddb69c 2013-01-08 07:53:37 Only emit DWARF unwind info when building with GCC
048d2f41 2012-10-11 10:55:25 Rebase
a044a56b 2012-04-06 10:39:10 Linux/x32 libtool fix
39dccddb 2012-04-05 12:32:41 Fix building with Clang for Darwin (OS X 10.6+ and iOS 4.0+)
3afaa9a3 2012-04-03 07:40:31 Fix return_uc.c test case on windows.
0a1ab12a 2012-03-30 08:14:08 Various MSVC-related changes.
7c5e60b5 2012-03-29 08:48:22 Rebase on fixed GCC sources
bd78c9c3 2012-03-21 08:09:30 More cygwin fixes
964c5b93 2012-03-03 14:46:20 abi check fixes and Linux/x32 support
8360bf1c 2012-02-23 07:01:13 Ensure that users don't include ffitarget.h directly
dee20f8e 2012-02-10 13:06:46 Rebased from gcc
1ff9c604 2012-02-01 16:34:30 Rebase from GCC
1fbf9dc4 2011-02-13 08:06:39 Fix bad_abi test. rc5.
69dbe845 2011-02-09 07:38:43 Fix xfails
0e584399 2011-02-08 07:52:40 Refresh from GCC
5b9cd527 2010-11-22 15:19:57 win64-underscore patch
2db72615 2010-11-21 10:50:56 Rebase
c1d28ba8 2010-08-05 08:48:16 stdcall-x86-closure-fix
10ea8489 2010-08-05 08:24:27 don't copy win64 struct args
d14178be 2010-07-23 09:14:00 FFI_LAST_ABI fix
3f5b1375 2010-07-12 14:39:18 rebase
9dc9a293 2010-04-13 10:33:52 Rebase to latest GCC sources
f2c2a4fc 2010-04-13 10:19:28 Remove warnings and add OS/2 support
59a259f4 2010-03-15 05:57:51 Remove junk file
3de1eb36 2010-03-15 05:57:24 fix-comments patch
cadeba6c 2010-01-15 10:46:51 Microsoft Visual C port
0739e7dc 2010-01-15 09:48:33 Add x86 Sun Studio compiler support
7b7a42f2 2010-01-12 09:14:14 Rebase from GCC
c3042afa 2010-01-01 08:08:02 Reset quilt patches post 3.0.9 merge with GCC
0cfe60e9 2009-12-29 10:06:04 3.0.9rc12
9458d88f 2009-12-26 07:02:27 Rebase from GCC
da11bece 2009-12-24 05:34:46 Release 3.0.9rc5
115ab36f 2009-12-24 00:22:00 Update missing changes for 3.0.9r4.
c6dddbd0 2009-10-04 08:11:33 Initial commit