Add support for stdcall, thiscall, and fastcall on non-Windows x86-32
authorJosh Triplett <josh@joshtriplett.org>
Sun, 16 Mar 2014 10:25:53 +0000 (03:25 -0700)
committerJosh Triplett <josh@joshtriplett.org>
Sun, 16 Mar 2014 12:05:06 +0000 (05:05 -0700)
commite1911f78df113ca58738b66089a070d4cf747de7
treef27856d28c9a252629c8a57387aecefd4e919bc8
parent9531d05f64c2a674e0197158ffad68d69f177bd0
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.
16 files changed:
ChangeLog
Makefile.am
src/x86/ffi.c
src/x86/ffitarget.h
src/x86/win32.S
testsuite/libffi.call/closure_stdcall.c
testsuite/libffi.call/closure_thiscall.c
testsuite/libffi.call/fastthis1_win32.c
testsuite/libffi.call/fastthis2_win32.c
testsuite/libffi.call/fastthis3_win32.c
testsuite/libffi.call/many2_win32.c
testsuite/libffi.call/many_win32.c
testsuite/libffi.call/strlen2_win32.c
testsuite/libffi.call/strlen_win32.c
testsuite/libffi.call/struct1_win32.c
testsuite/libffi.call/struct2_win32.c