Saleem Abdulrasool [Tue, 10 Oct 2017 18:44:05 +0000 (11:44 -0700)]
arm: zext return value parameters
The closure function (invoked as closure->fun in ffi_closure_XXX_inner)
will only populate the actual number of bytes for the true return type,
which may be a character. This leaves garbage on the stack when the
assembly closure function (i.e. ffi_closure_XXX) reads the return value
off of the stack into r0 as a 4-byte value. ffi_closure_XXX always
leaves room for at least 4 bytes here, so we can safely set them to 0.
Otherwise, if there is garbage in any of these bytes, these end up in r0
and in the returned value as well.
Tom Tromey [Mon, 2 Oct 2017 02:25:50 +0000 (20:25 -0600)]
Merge pull request #319 from angerman/patch-5
Adds `local.exp` to DISTCLEANFILES
Moritz Angermann [Mon, 2 Oct 2017 02:20:16 +0000 (10:20 +0800)]
Change CLEANFILES to DISTCLEANFILES
Tom Tromey [Mon, 2 Oct 2017 02:19:53 +0000 (20:19 -0600)]
Merge pull request #316 from angerman/patch-2
Add `configure.host` and `libtool-version` to the `EXTRA_DIST` files
Tom Tromey [Mon, 2 Oct 2017 02:17:02 +0000 (20:17 -0600)]
Merge pull request #317 from angerman/patch-3
Add src/x86/asmnames.h to noinst_HEADERS
Moritz Angermann [Sun, 1 Oct 2017 04:48:17 +0000 (12:48 +0800)]
Merged
Moritz Angermann [Sun, 1 Oct 2017 04:37:53 +0000 (12:37 +0800)]
Adds `local.exp` to CLEANFILES
With #315, #316, #317, #318 and this patch, running
```
AM_DISTCHECK_CONFIGURE_FLAGS=--disable-docs make distcheck
```
should complete successfully.
Moritz Angermann [Sun, 1 Oct 2017 04:23:31 +0000 (12:23 +0800)]
Include `libtool-version` in the EXTRA_DIST files.
Moritz Angermann [Sun, 1 Oct 2017 03:32:41 +0000 (11:32 +0800)]
Add src/x86/asmnames.h to noinst_HEADERS
In
eaa59755fcbb692a8cb763c7f9f24a350aadbd30, macros from `unix64.S` were extracted into `asmnames.h` to be used with `win64.S` as well. As such these are required by `unix64.S`, which fails to build without them.
Moritz Angermann [Sun, 1 Oct 2017 03:28:40 +0000 (11:28 +0800)]
Add `configure.host` to the `EXTRA_DIST` files
When running `make dist`, `configure.host` would not result in the distribution tarball, however `configure` would try to read it, and as such the tarball would not be buildable.
Anthony Green [Thu, 28 Sep 2017 01:51:34 +0000 (21:51 -0400)]
Fix #265
Anthony Green [Thu, 28 Sep 2017 01:43:03 +0000 (21:43 -0400)]
Merge pull request #263 from ksjogo/master
fix ios builds
Anthony Green [Thu, 28 Sep 2017 00:54:09 +0000 (20:54 -0400)]
Merge pull request #271 from frida/fix/qnx-cache-flushing
arm: Fix cache flushing on QNX
Anthony Green [Thu, 28 Sep 2017 00:53:50 +0000 (20:53 -0400)]
Merge pull request #307 from zw3rk/master
Support -ios triple
Anthony Green [Thu, 28 Sep 2017 00:47:08 +0000 (20:47 -0400)]
Merge pull request #312 from fjricci/fix_ub
Fix misaligned memory access in ffi_call_int
Anthony Green [Thu, 28 Sep 2017 00:45:15 +0000 (20:45 -0400)]
Merge pull request #308 from trex58/master
This patch enables FFI Go Closure on AIX.
Francis Ricci [Thu, 3 Aug 2017 17:46:28 +0000 (10:46 -0700)]
Fix misaligned memory access in ffi_call_int
Tom Tromey [Wed, 12 Jul 2017 18:43:06 +0000 (12:43 -0600)]
Merge pull request #309 from rurban/oldgcc
__attribute__ deprecated (msg) only since gcc 4.5
Reini Urban [Sun, 18 Jun 2017 16:26:05 +0000 (18:26 +0200)]
__attribute__ deprecated (msg) only since gcc 4.5
make it work with older compilers
Moritz Angermann [Sun, 21 May 2017 12:44:10 +0000 (20:44 +0800)]
add i?86-*-ios -- the iOS simulator (32bit)
Moritz Angermann [Sun, 21 May 2017 12:25:16 +0000 (20:25 +0800)]
add x86_64-*-ios -- the iOS simulator
Tony Reix [Wed, 17 May 2017 12:57:53 +0000 (14:57 +0200)]
This patch enables FFI Go Closure on AIX.
Moritz Angermann [Tue, 16 May 2017 00:32:06 +0000 (08:32 +0800)]
Support -ios triple
Autoconf hasn’t had an update since 2014, and it doesn’t look like it will soon[1]
This updates config.{guess,sub}
It adds support for e.g. `-ios`, which allows to have targets like `aarch64-apple-ios`.
It basically does exactly what the config.guess script says:
> It is advised that you download the most up to date version of the config scripts from
The configure.ac script has been updated to relax `*-apple-darwin*` to `*-apple-*`.
Similarly the `.gitignore` and `autogen.sh` needed to be updated to respect the
newer `config.{sub,guess}`
—
[1]: http://lists.gnu.org/archive/html/autoconf/2016-07/msg00017.html
Tom Tromey [Mon, 8 May 2017 21:20:39 +0000 (15:20 -0600)]
Merge pull request #302 from gpakosz/align-macros
Prefix ALIGN macros with FFI_
Gregory Pakosz [Thu, 27 Apr 2017 11:20:36 +0000 (13:20 +0200)]
Prefix ALIGN macros with FFI_
ksjogo [Thu, 30 Mar 2017 11:32:58 +0000 (13:32 +0200)]
update for xcode 8.3
Ole André Vadla Ravnås [Wed, 15 Mar 2017 00:43:11 +0000 (01:43 +0100)]
Simplify iOS trampoline table allocation
By using VM_FLAGS_OVERWRITE there is no need for speculatively
allocating on a page we just deallocated. This approach eliminates the
race-condition and gets rid of the retry logic.
ksjogo [Sun, 24 Jul 2016 23:18:30 +0000 (01:18 +0200)]
set ios deployment target to 7.0
ksjogo [Thu, 14 Jul 2016 09:28:18 +0000 (11:28 +0200)]
fix ltmain.sh in xcode builds
ksjogo [Wed, 13 Jul 2016 12:40:07 +0000 (14:40 +0200)]
add valid architectures
Johannes Goslar [Tue, 12 Jul 2016 14:08:42 +0000 (16:08 +0200)]
Update Xcodeproj
Include all currently relevent files.
Call autogen is build script.
Fix compiler settings.
Fix mach include.
Anthony Green [Sun, 19 Mar 2017 11:42:09 +0000 (07:42 -0400)]
remove stray quote
Anthony Green [Sun, 19 Mar 2017 11:36:07 +0000 (07:36 -0400)]
Handle fastcall declaration differently for some Microsoft compilers
Anthony Green [Sun, 19 Mar 2017 11:33:39 +0000 (07:33 -0400)]
We don't support 32-bit builds with the Microsoft toolchain
Anthony Green [Sun, 19 Mar 2017 11:25:24 +0000 (07:25 -0400)]
Enable appveyor ci support
Anthony Green [Fri, 17 Mar 2017 13:20:40 +0000 (09:20 -0400)]
Merge pull request #291 from ramon-garcia/visual-studio-build
Build with Visual C++ (64 bits)
Anthony Green [Thu, 16 Mar 2017 11:50:07 +0000 (07:50 -0400)]
Merge pull request #238 from KubaKaszycki/master
Update README with a new port
Anthony Green [Thu, 16 Mar 2017 04:40:58 +0000 (00:40 -0400)]
Merge pull request #288 from yan12125/std-includedir
Install public headers in the standard path
Anthony Green [Thu, 16 Mar 2017 04:39:07 +0000 (00:39 -0400)]
Merge pull request #299 from matijaskala/patch-1
detect other x32 hosts
Anthony Green [Thu, 16 Mar 2017 04:36:10 +0000 (00:36 -0400)]
Remove osx testing. gcc was symlinked to clang. dejagnu c++ tests fail with clang.
Anthony Green [Wed, 15 Mar 2017 13:58:39 +0000 (09:58 -0400)]
Revert previous two changes. clang/MacOS problem can only be solved within dejagnu.
Anthony Green [Wed, 15 Mar 2017 13:52:39 +0000 (09:52 -0400)]
Fix typo
Anthony Green [Wed, 15 Mar 2017 13:34:01 +0000 (09:34 -0400)]
Work around dejagnu/clang problems
Anthony Green [Wed, 15 Mar 2017 12:54:52 +0000 (08:54 -0400)]
Require sudo for installing packages
Matija Skala [Wed, 15 Mar 2017 11:50:41 +0000 (12:50 +0100)]
detect other x32 hosts
primarily x86_64-pc-linux-muslx32
while at it, add x86_64-x32-pc-linux-{gnu,musl} as well
Richard Henderson [Wed, 15 Mar 2017 02:37:45 +0000 (19:37 -0700)]
Merge pull request #297 from frida/fix/error-path
Fix error path so mutex is unlocked before returning
Ole André Vadla Ravnås [Wed, 15 Mar 2017 00:23:40 +0000 (01:23 +0100)]
Fix error path so mutex is unlocked before returning
In the unusual case where ffi_trampoline_table_alloc() fails.
Tom Tromey [Tue, 28 Feb 2017 04:10:00 +0000 (21:10 -0700)]
Merge pull request #295 from terrillmoore/patch-1
Correct typos in libffi.texi
Terry Moore [Sun, 26 Feb 2017 20:06:53 +0000 (15:06 -0500)]
Correct typos in libffi.texi
One "it's" should be "its", and one "is" should be "in".
Ramón García Fernández [Sun, 8 Jan 2017 19:12:59 +0000 (20:12 +0100)]
Modify configure.host to detect compilation with Microsoft Visual C++ and use assembly with Intel syntax in that case
Yen Chi Hsuan [Sun, 13 Nov 2016 11:17:19 +0000 (19:17 +0800)]
Install public headers in the standard path
Anthony Green [Sun, 4 Sep 2016 13:34:18 +0000 (09:34 -0400)]
make executable
Anthony Green [Sun, 4 Sep 2016 13:21:18 +0000 (09:21 -0400)]
Update travis to test linux 32/64 and osx with a mix of gcc and clang
Anthony Green [Sun, 4 Sep 2016 13:17:46 +0000 (09:17 -0400)]
xfail the unwindtest for osx as per issue #279
Richard Henderson [Thu, 1 Sep 2016 20:54:51 +0000 (13:54 -0700)]
Merge pull request #273 from wbx-github/master
m68k: support ISA-A Coldfire CPUs
Richard Henderson [Thu, 1 Sep 2016 20:30:45 +0000 (13:30 -0700)]
Merge pull request #272 from yousong/mips64-soft-float
Mips64 soft float
Tom Tromey [Tue, 23 Aug 2016 17:32:17 +0000 (11:32 -0600)]
Merge pull request #274 from dr-hannibal/ykolerov-unused
ARC: Remove unused variable
Yuriy Kolerov [Tue, 23 Aug 2016 17:23:37 +0000 (20:23 +0300)]
ARC: Remove unused variable
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Waldemar Brodkorb [Fri, 19 Aug 2016 22:52:19 +0000 (00:52 +0200)]
m68k: support ISA-A Coldfire CPUs
Fix compilation for m68k/coldfire CPUs like mcf5208.
Signed-off-by: Thorsten Glaser <tg@mirbsd.de>
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Yousong Zhou [Mon, 15 Aug 2016 09:34:37 +0000 (17:34 +0800)]
doc: fix typo
Name of last argument to ffi_get_struct_offsets is `offsets`, not `sizes`
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Yousong Zhou [Mon, 15 Aug 2016 07:00:13 +0000 (15:00 +0800)]
mips: fix MIPS softfloat build issue
The patch for o32.S is taken from OpenWrt packages repo 3a7a4bf "libffi:
fix MIPS softfloat build issue with current binutils"
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Tom Tromey [Wed, 10 Aug 2016 21:06:16 +0000 (15:06 -0600)]
Merge pull request #269 from frida/fix/aarch64-variadic-closures-on-ios
aarch64: Fix handling of variadic closures on iOS
Tom Tromey [Wed, 10 Aug 2016 21:03:37 +0000 (15:03 -0600)]
Merge pull request #268 from frida/fix/aarch64-large-aggregates
aarch64: Fix handling of aggregates larger than 16 bytes
Ole André Vadla Ravnås [Wed, 10 Aug 2016 20:48:09 +0000 (22:48 +0200)]
aarch64: Fix handling of aggregates larger than 16 bytes
Instead of allocating stack space for a pointer we would allocate stack
space for the actual aggregate size.
Tom Tromey [Wed, 10 Aug 2016 20:31:09 +0000 (14:31 -0600)]
Merge pull request #270 from frida/fix/aarch64-warnings
Fix aarch64 warnings
s1341 [Wed, 10 Aug 2016 12:57:22 +0000 (14:57 +0200)]
arm: Fix cache flushing on QNX
Use `msync()` directly as `__clear_cache()` is broken in the
qnx650_gcc4.8.3 toolchain.
Ole André Vadla Ravnås [Wed, 10 Aug 2016 13:22:19 +0000 (15:22 +0200)]
aarch64: Fix warning about unused function on iOS
Ole André Vadla Ravnås [Wed, 10 Aug 2016 13:21:42 +0000 (15:21 +0200)]
aarch64: Fix operand size warning reported by Clang
Ole André Vadla Ravnås [Wed, 10 Aug 2016 13:59:56 +0000 (15:59 +0200)]
aarch64: Fix handling of variadic closures on iOS
Tom Tromey [Tue, 2 Aug 2016 16:23:25 +0000 (10:23 -0600)]
Merge pull request #266 from dr-hannibal/arc-pthread
Make testing easier outside of build directory and especially for ARC
Yuriy Kolerov [Fri, 29 Jul 2016 18:01:38 +0000 (21:01 +0300)]
Do not use fabsl() in float2.c test
Some targets may support long double variables but in the same
time may lack support of long double functions like fabsl().
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Yuriy Kolerov [Fri, 29 Jul 2016 16:18:41 +0000 (19:18 +0300)]
Fix output expectations in cls_dbls_struct.c test
This test with invalid output expectations may fail on some targets
(e.g. ARC processors).
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Yuriy Kolerov [Thu, 28 Jul 2016 17:57:09 +0000 (20:57 +0300)]
Allow setting an arbitary value for blddirffi in testsuite
It is useful when tests are executed not from build directory. So
the path of the build directory may be passed through site.exp or
runtest.
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Yuriy Kolerov [Thu, 28 Jul 2016 15:48:23 +0000 (18:48 +0300)]
ARC: Link tests with pthread library
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Richard Henderson [Fri, 8 Jul 2016 06:11:38 +0000 (23:11 -0700)]
Merge pull request #261 from tromey/fix-260
Don't dereference "ecif" before NULL check
Tom Tromey [Fri, 17 Jun 2016 09:09:44 +0000 (10:09 +0100)]
Don't dereference "ecif" before NULL check
Fixes #260
Richard Henderson [Sun, 5 Jun 2016 22:05:21 +0000 (15:05 -0700)]
Merge pull request #259 from rth7680/master
Mark win64.S with GNU-stack note
Richard Henderson [Sun, 5 Jun 2016 21:57:00 +0000 (14:57 -0700)]
Mark win64.S with GNU-stack note
Richard Henderson [Sat, 4 Jun 2016 06:04:56 +0000 (23:04 -0700)]
Merge pull request #253 from iains/darwin-build
Some Darwin build fixes
Iain Sandoe [Thu, 26 May 2016 08:00:00 +0000 (09:00 +0100)]
[Darwin-ppc, build] Fixes for clang build.
clang is experimental on powerpc-darwin, but the changes are appropriate to cctools as as well.
Use the 'official' simplified cmpwi insn, rather than the implied one accepted by cctools.
Do not re-use a set value.
Iain Sandoe [Thu, 26 May 2016 07:56:51 +0000 (08:56 +0100)]
[Darwin-x86, build] Fix up label prefixes, remove .purgem
Darwin uses a label prefix of _.
cctools assembler will not accept .purgem as a directive.
Iain Sandoe [Thu, 26 May 2016 07:55:04 +0000 (08:55 +0100)]
[Darwin, configure] Allow configure to work for <arch>-*-darwin.
The exec configury is appropriate for all current targets (including using older tools on them).
Tom Tromey [Mon, 23 May 2016 15:58:51 +0000 (09:58 -0600)]
Merge pull request #237 from tschwinge/libffi_feature_test
Simplify/fix libffi_feature_test
Richard Henderson [Thu, 19 May 2016 16:35:38 +0000 (09:35 -0700)]
Merge pull request #251 from berkerpeksag/delete-test-define
Remove unused FFI_CLOSURE_TEST
Berker Peksag [Thu, 19 May 2016 15:05:36 +0000 (18:05 +0300)]
Remove unused FFI_CLOSURE_TEST
It was here since the first commit c6dddbd (warning: huge diff) and
it wasn't defined by the configure script. It was probably used
manually during development.
Tom Tromey [Thu, 19 May 2016 12:36:38 +0000 (06:36 -0600)]
Merge pull request #248 from berkerpeksag/patch-1
Delete empty env in .travis.yml
Berker Peksag [Thu, 19 May 2016 07:53:07 +0000 (10:53 +0300)]
Delete empty env in .travis.yml
Richard Henderson [Wed, 18 May 2016 18:10:33 +0000 (11:10 -0700)]
Merge pull request #247 from rth7680/symver
Add parent to symbol version LIBFFI_BASE_7.1
Richard Henderson [Wed, 18 May 2016 18:01:55 +0000 (11:01 -0700)]
Add parent to symbol version LIBFFI_BASE_7.1
Richard Henderson [Wed, 18 May 2016 17:56:19 +0000 (10:56 -0700)]
Merge pull request #230 from rth7680/symver
Use ELF symbol versioning
Tom Tromey [Wed, 18 May 2016 16:09:28 +0000 (10:09 -0600)]
Merge pull request #232 from berkerpeksag/signcompare
Fix -Wsign-compare warnings in x86/ffi64.c
Tom Tromey [Wed, 18 May 2016 16:08:59 +0000 (10:08 -0600)]
Merge pull request #233 from berkerpeksag/mremap
Define _GNU_SOURCE on Linux for mremap()
Tom Tromey [Wed, 18 May 2016 16:07:31 +0000 (10:07 -0600)]
Merge pull request #246 from berkerpeksag/update-github-links
Update project URLs to use libffi/libffi
Berker Peksag [Wed, 18 May 2016 08:12:58 +0000 (11:12 +0300)]
Update project URLs to use libffi/libffi
Berker Peksag [Mon, 7 Mar 2016 16:38:10 +0000 (18:38 +0200)]
Define _GNU_SOURCE on Linux for mremap()
This was committed to CPython's libffi copy in
https://bugs.python.org/issue10309
mremap() documentation says _GNU_SOURCE needs to
be defined in order to use mremap(): see the
synopsis section at http://linux.die.net/man/2/mremap
Original commit: https://hg.python.org/cpython/rev/
9986fff720a2
Original patch was written by Hallvard B Furuseth.
Berker Peksag [Sat, 5 Mar 2016 07:58:38 +0000 (09:58 +0200)]
Fix -Wsign-compare warnings in x86/ffi64.c
This was originally reported on the Python tracker:
httpa://bugs.python.org/issue23958
The original patch was written by Steve R. Hastings.
I've updated it to current master of libffi.
Tom Tromey [Tue, 17 May 2016 23:07:27 +0000 (17:07 -0600)]
Merge pull request #234 from berkerpeksag/disable-docs
Add a note about the --disable-docs switch
Tom Tromey [Tue, 17 May 2016 23:04:50 +0000 (17:04 -0600)]
Merge pull request #242 from somasis/master
Fix usage on musl libc
Richard Henderson [Wed, 4 May 2016 17:33:41 +0000 (07:33 -1000)]
Update symbol versioning for ffi_get_struct_offsets
Given that the original symbol versioning patch has shipped
with gcc-6, it would be kind to keep that as a valid base ABI
and make subsequent changes to version 7.1.
Richard Henderson [Thu, 3 Mar 2016 21:51:44 +0000 (13:51 -0800)]
Use ELF symbol versioning
At the same time, we must bump the (major) ABI version. This needed to be
done anyway due to ABI breakage in the AArch64 port (see
12cf89ee and the
corresponding GCC PR70024).