|
5d6340ef
|
2014-08-25T17:29:44
|
|
Determine whether register arguments (THISCALL/FASTCALL/REGISTER) are really passed via register to closures. Use stack if not.
|
|
6e346487
|
2014-08-25T12:23:29
|
|
Fixed THISCALL/FASTCALL closures and added basic support for PASCAL/REGISTER closures.
|
|
098dca6b
|
2014-08-23T00: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-31T08:53:10
|
|
Add missing GNU stack markings in win32.S
|
|
99909eb6
|
2014-04-22T21:17:52
|
|
src/x86/win32.S: Define ffi_closure_FASTCALL in the MASM section, too
|
|
d3695227
|
2014-04-20T12: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.
|
|
b5fed601
|
2014-04-05T17: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.)
|
|
be50b87a
|
2014-03-24T21: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.
|
|
f0f4138f
|
2014-03-22T10: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-21T11: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-21T11: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-21T10: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-16T03: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.
|
|
3afaa9a3
|
2012-04-03T07:40:31
|
|
Fix return_uc.c test case on windows.
|
|
0a1ab12a
|
2012-03-30T08:14:08
|
|
Various MSVC-related changes.
|
|
7c5e60b5
|
2012-03-29T08:48:22
|
|
Rebase on fixed GCC sources
|
|
bd78c9c3
|
2012-03-21T08:09:30
|
|
More cygwin fixes
|
|
dee20f8e
|
2012-02-10T13:06:46
|
|
Rebased from gcc
|
|
1ff9c604
|
2012-02-01T16:34:30
|
|
Rebase from GCC
|
|
f2c2a4fc
|
2010-04-13T10:19:28
|
|
Remove warnings and add OS/2 support
|
|
cadeba6c
|
2010-01-15T10:46:51
|
|
Microsoft Visual C port
|
|
c6dddbd0
|
2009-10-04T08:11:33
|
|
Initial commit
|