Commit Graph

1061 Commits

Author SHA1 Message Date
Sergei Trofimovich
ed7488c003 src/ia64/unix.S: unbreak small struct handling
commit 6e8a446083
added FFI_TYPE_COMPLEX value type (comes after FFI_TYPE_POINTER)

ia64 ffi_closure_unix reiles on the ordering of
FFI_ enums as ia64 has ia64-specific FFI types:
small struct and FPU extesions.

As a result all tests handling small structs broke.

The change fixes dispatch table by adding (no-op)
FFI_TYPE_COMPLEX entry
This has positive effect of unbreaking most tests
on ia64:

                 === libffi Summary ===

-# of expected passes            1595
-# of unexpected failures        295
+# of expected passes            1930
+# of unexpected failures        10
 # of unsupported tests          30

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2017-10-17 13:00:51 +01:00
Anthony Green
1c9171ec89 Merge pull request #324 from compnerd/arm-zext
arm: zext return value parameters
2017-10-10 23:19:57 -04:00
Saleem Abdulrasool
7ad0ae7f42 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.
2017-10-10 11:46:20 -07:00
Tom Tromey
9f1f8741b2 Merge pull request #319 from angerman/patch-5
Adds `local.exp` to DISTCLEANFILES
2017-10-01 20:25:50 -06:00
Moritz Angermann
6cf0dea78a Change CLEANFILES to DISTCLEANFILES 2017-10-02 10:20:16 +08:00
Tom Tromey
dca078f468 Merge pull request #316 from angerman/patch-2
Add `configure.host` and `libtool-version` to the `EXTRA_DIST` files
2017-10-01 20:19:53 -06:00
Tom Tromey
540258d13e Merge pull request #317 from angerman/patch-3
Add src/x86/asmnames.h to noinst_HEADERS
2017-10-01 20:17:02 -06:00
Moritz Angermann
bccba9a34e Merged 2017-10-01 12:48:17 +08:00
Moritz Angermann
6b6df1a7bb 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.
2017-10-01 12:37:53 +08:00
Moritz Angermann
59d65d74ae Include libtool-version in the EXTRA_DIST files. 2017-10-01 12:23:31 +08:00
Moritz Angermann
4c6aa78d75 Add src/x86/asmnames.h to noinst_HEADERS
In eaa59755fc, 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.
2017-10-01 11:32:41 +08:00
Moritz Angermann
a1e6ccb67e 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.
2017-10-01 11:28:40 +08:00
Anthony Green
93d8e7dd17 Fix #265 2017-09-27 21:51:34 -04:00
Anthony Green
02a5145abb Merge pull request #263 from ksjogo/master
fix ios builds
2017-09-27 21:43:03 -04:00
Anthony Green
10099d6cad Merge pull request #271 from frida/fix/qnx-cache-flushing
arm: Fix cache flushing on QNX
2017-09-27 20:54:09 -04:00
Anthony Green
c8f1aa3d04 Merge pull request #307 from zw3rk/master
Support -ios triple
2017-09-27 20:53:50 -04:00
Anthony Green
db4dad97e2 Merge pull request #312 from fjricci/fix_ub
Fix misaligned memory access in ffi_call_int
2017-09-27 20:47:08 -04:00
Anthony Green
8a16f2f47f Merge pull request #308 from trex58/master
This patch enables FFI Go Closure on AIX.
2017-09-27 20:45:15 -04:00
Francis Ricci
9c12209d2e Fix misaligned memory access in ffi_call_int 2017-08-03 10:46:28 -07:00
Tom Tromey
b23091069a Merge pull request #309 from rurban/oldgcc
__attribute__ deprecated (msg) only since gcc 4.5
2017-07-12 12:43:06 -06:00
Reini Urban
9c6cb58812 __attribute__ deprecated (msg) only since gcc 4.5
make it work with older compilers
2017-07-04 17:12:23 +02:00
Moritz Angermann
50e408ce5d add i?86-*-ios -- the iOS simulator (32bit) 2017-05-21 20:44:10 +08:00
Moritz Angermann
a08cabe674 add x86_64-*-ios -- the iOS simulator 2017-05-21 20:25:16 +08:00
Tony Reix
0ff9419f2e This patch enables FFI Go Closure on AIX. 2017-05-17 14:57:53 +02:00
Moritz Angermann
19ab448d84 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
2017-05-16 08:58:11 +08:00
Tom Tromey
c0cc9f1df9 Merge pull request #302 from gpakosz/align-macros
Prefix ALIGN macros with FFI_
2017-05-08 15:20:39 -06:00
Gregory Pakosz
bd72848c7a Prefix ALIGN macros with FFI_ 2017-04-27 13:22:28 +02:00
ksjogo
7d504f7a8e update for xcode 8.3 2017-03-30 13:32:58 +02:00
Ole André Vadla Ravnås
57d8ff044c 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.
2017-03-30 13:30:50 +02:00
ksjogo
7f558a9ba4 set ios deployment target to 7.0 2017-03-30 13:26:15 +02:00
ksjogo
e76fa94b6e fix ltmain.sh in xcode builds 2017-03-30 13:26:15 +02:00
ksjogo
22b2fd6f18 add valid architectures 2017-03-30 13:26:15 +02:00
Johannes Goslar
0040694505 Update Xcodeproj
Include all currently relevent files.
Call autogen is build script.
Fix compiler settings.
Fix mach include.
2017-03-30 13:26:15 +02:00
Anthony Green
b841ae70a0 remove stray quote 2017-03-19 07:42:09 -04:00
Anthony Green
a94c999ba0 Handle fastcall declaration differently for some Microsoft compilers 2017-03-19 07:36:07 -04:00
Anthony Green
69963d39ab We don't support 32-bit builds with the Microsoft toolchain 2017-03-19 07:33:39 -04:00
Anthony Green
073bc9d50c Enable appveyor ci support 2017-03-19 07:25:24 -04:00
Anthony Green
a0b14eea2b Merge pull request #291 from ramon-garcia/visual-studio-build
Build with Visual C++ (64 bits)
2017-03-17 09:20:40 -04:00
Anthony Green
fa5a0fe2c6 Merge pull request #238 from KubaKaszycki/master
Update README with a new port
2017-03-16 07:50:07 -04:00
Anthony Green
5b91bbd388 Merge pull request #288 from yan12125/std-includedir
Install public headers in the standard path
2017-03-16 00:40:58 -04:00
Anthony Green
d754c510f1 Merge pull request #299 from matijaskala/patch-1
detect other x32 hosts
2017-03-16 00:39:07 -04:00
Anthony Green
ebe7f447ab Remove osx testing. gcc was symlinked to clang. dejagnu c++ tests fail with clang. 2017-03-16 00:36:10 -04:00
Anthony Green
c9c2aa2461 Revert previous two changes. clang/MacOS problem can only be solved within dejagnu. 2017-03-15 09:58:39 -04:00
Anthony Green
5a8fca9405 Fix typo 2017-03-15 09:52:39 -04:00
Anthony Green
5b10a01981 Work around dejagnu/clang problems 2017-03-15 09:34:01 -04:00
Anthony Green
b675125807 Require sudo for installing packages 2017-03-15 08:54:52 -04:00
Matija Skala
41185b565f detect other x32 hosts
primarily x86_64-pc-linux-muslx32
while at it, add x86_64-x32-pc-linux-{gnu,musl} as well
2017-03-15 12:50:41 +01:00
Richard Henderson
6e2e041b6d Merge pull request #297 from frida/fix/error-path
Fix error path so mutex is unlocked before returning
2017-03-14 19:37:45 -07:00
Ole André Vadla Ravnås
d42ce7b95c Fix error path so mutex is unlocked before returning
In the unusual case where ffi_trampoline_table_alloc() fails.
2017-03-15 01:27:43 +01:00
Tom Tromey
dabbd14566 Merge pull request #295 from terrillmoore/patch-1
Correct typos in libffi.texi
2017-02-27 21:10:00 -07:00