Add missing ChangeLog entry. Clean up some entries.

This commit is contained in:
Anthony Green
2014-03-16 09:03:57 -04:00
parent 9bc704c58c
commit 9a62a21f5c

View File

@@ -1,23 +1,25 @@
2014-03-16 Josh Triplett <josh@joshtriplett.org>
2014-03-16 Josh Triplett <josh@joshtriplett.org>
Add support for stdcall, thiscall, and fastcall on non-Windows x86-32.
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.
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.
* Makefile.am: Compile in src/x86/win32.S on non-Windows x86-32.
* src/x86/ffitarget.h: Add FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL
on non-Windows x86-32. Increase trampoline size to accomodate these
calling conventions, and unify some ifdeffery.
* src/x86/ffitarget.h: Add FFI_STDCALL, FFI_THISCALL, and
FFI_FASTCALL on non-Windows x86-32. Increase trampoline size to
accomodate these calling conventions, and unify some ifdeffery.
* src/x86/ffi.c: Add support for FFI_STDCALL, FFI_THISCALL, and
FFI_FASTCALL on non-Windows x86-32 platforms; update ifdeffery.
* src/x86/win32.S: Support compiling on non-Windows x86-32 platforms.
On those platforms, avoid redefining the SYSV symbols already provided
by src/x86/sysv.S.
* src/x86/win32.S: Support compiling on non-Windows x86-32
platforms. On those platforms, avoid redefining the SYSV symbols
already provided by src/x86/sysv.S.
* testsuite/libffi.call/closure_stdcall.c: Run on non-Windows.
#define __stdcall if needed.
* testsuite/libffi.call/closure_thiscall.c: Run on non-Windows.
@@ -32,30 +34,31 @@
* testsuite/libffi.call/struct1_win32.c: Ditto.
* testsuite/libffi.call/struct2_win32.c: Ditto.
2014-03-16 Josh Triplett <josh@joshtriplett.org>
2014-03-16 Josh Triplett <josh@joshtriplett.org>
* prep_cif.c: Remove unnecessary ifdef for X86_WIN32.
ffi_prep_cif_core had a special case for X86_WIN32, checking for
FFI_THISCALL in addition to the FFI_FIRST_ABI-to-FFI_LAST_ABI range
before returning FFI_BAD_ABI. However, on X86_WIN32, FFI_THISCALL
already falls in that range, making the special case unnecessary.
Remove it.
FFI_THISCALL in addition to the FFI_FIRST_ABI-to-FFI_LAST_ABI
range before returning FFI_BAD_ABI. However, on X86_WIN32,
FFI_THISCALL already falls in that range, making the special case
unnecessary. Remove it.
2014-03-16 Josh Triplett <josh@joshtriplett.org>
2014-03-16 Josh Triplett <josh@joshtriplett.org>
* testsuite/libffi.call/closure_stdcall.c,
testsuite/libffi.call/closure_thiscall.c: Remove fragile stack pointer
checks. These files included inline assembly to save the stack
pointer before and after the call, and compare the values. However,
compilers can and do leave the stack in different states for these two
pieces of inline assembly, such as by saving a temporary value on the
stack across the call; observed with gcc -Os, and verified as spurious
through careful inspection of disassembly.
testsuite/libffi.call/closure_thiscall.c: Remove fragile stack
pointer checks. These files included inline assembly to save the
stack pointer before and after the call, and compare the values.
However, compilers can and do leave the stack in different states
for these two pieces of inline assembly, such as by saving a
temporary value on the stack across the call; observed with gcc
-Os, and verified as spurious through careful inspection of
disassembly.
2014-03-16 Josh Triplett <josh@joshtriplett.org>
2014-03-16 Josh Triplett <josh@joshtriplett.org>
* testsuite/libffi.call/many.c: Avoid spurious failure due to excess
floating-point precision.
* testsuite/libffi.call/many.c: Avoid spurious failure due to
excess floating-point precision.
* testsuite/libffi.call/many_win32.c: Ditto.
2014-03-16 Josh Triplett <josh@joshtriplett.org>
@@ -65,11 +68,11 @@
2014-03-16 Josh Triplett <josh@joshtriplett.org>
* Makefile.in, aclocal.m4, compile, config.guess, config.sub,
configure, depcomp, include/Makefile.in, install-sh, libtool-ldflags,
ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
m4/ltversion.m4, m4/lt~obsolete.m4, man/Makefile.in, mdate-sh,
missing, testsuite/Makefile.in: Delete autogenerated files from
version control.
configure, depcomp, include/Makefile.in, install-sh,
libtool-ldflags, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4,
m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4,
man/Makefile.in, mdate-sh, missing, testsuite/Makefile.in: Delete
autogenerated files from version control.
* .gitignore: Add autogenerated files.
* autogen.sh: New script to generate the autogenerated files.
* README: Document requirement to run autogen.sh when building
@@ -83,7 +86,8 @@
2014-03-10 Mike Hommey <mh+mozilla@glandium.org>
* configure.ac: Allow building for mipsel with Android NDK r8.
* Makefile.am (AM_MAKEFLAGS): Replace double quotes with single quotes.
* Makefile.am (AM_MAKEFLAGS): Replace double quotes with single
quotes.
2014-03-10 Landry Breuil <landry@openbsd.org>
@@ -142,6 +146,11 @@
* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
main CFA reg; update cfi_rel_offset.
2014-02-15 Marcus Comstedt <marcus@mc.pp.se>
* src/powerpc/ffi_linux64.c, src/powerpc/linux64_closure.S: Remove
assumption on contents of r11 in closure.
2014-02-09 Heiher <r@hev.cc>
* src/mips/n32.S: Fix call floating point va function.