Commit Graph

1071 Commits

Author SHA1 Message Date
Anthony Green
927da71662 Merge pull request #379 from jlj/master
Xcode build improvements
2017-10-25 13:05:53 -04:00
Anthony Green
a0455c0318 Merge pull request #383 from hjl-tools/hjl/master
Hjl/master
2017-10-25 13:04:23 -04:00
Anthony Green
0faf614529 Merge pull request #381 from compnerd/ffi-nullptr-deref
arm: fix a level of indirection issue
2017-10-25 13:03:55 -04:00
H.J. Lu
9d9d92b47f Skip WIN64/EFI64 support for x32
Since x32 doesn't support WIN64/EFI64, skip it if __ILP32__ is defined.
2017-10-25 05:37:30 -07:00
H.J. Lu
b2a343ffc6 Don't include WIN64/EFI64 for x32
Since x32 doesn't support WIN64/EFI64, don't include it for x32.  Also
x32 has sizeof size_t == 4.  But TARGET should be X86_64.
2017-10-25 05:36:49 -07:00
Saleem Abdulrasool
3c372c384a arm: fix a level of indirection issue
Rather than relying on the stack being 0'ed out always, do it manually.
The stack generally happened to be zero, and because the compiler
realizes that the tests are dealing with chars truncates the read value.
However, the top 3 nibbles of the value are undefined and may be
non-zero.  The indirection level caused a null-pointer dereference.

Explicitly scribbling on the stack during the allocation causes test
failures without the original zexting behaviour.
2017-10-24 16:44:54 -07:00
Jean-Luc Jumpertz
181fc4cc9c Merge branch 'master' based on ksjogo/libffi
Added a tvOS target in Xcode project. Misc Xcode project cleanup.
  Fix macOS build target in Xcode project.

# Conflicts:
#	src/aarch64/ffi.c
#	src/x86/ffi64.c
2017-10-23 15:02:29 +02:00
Jean-Luc Jumpertz
54529ba1db Added a tvOS target in Xcode project. Misc Xcode project cleanup. 2017-10-23 09:49:35 +02:00
Tom Tromey
8d26e8c6da Merge pull request #326 from trofi/master
src/ia64/unix.S: unbreak small struct handling
2017-10-17 10:46:49 -06:00
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
Jean-Luc Jumpertz
a78da73956 Fix macOS build target in Xcode project.
- Add missing files for desktop platforms in generate-darwin-source-and-headers.py, and in the Xcode project.
- Add a static library target for macOS.
- Fix "implicit conversion loses integer precision" warnings for iOS mad macOS targets.
2017-09-04 15:55:34 +02: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