Cleanup symbol exports on darwin and add architecture preprocessor checks to assist...
authorJeremy Huddleston Sequoia <jeremyhu@users.noreply.github.com>
Tue, 19 Feb 2019 12:11:28 +0000 (04:11 -0800)
committerAnthony Green <green@moxielogic.com>
Tue, 19 Feb 2019 12:11:28 +0000 (07:11 -0500)
commit05a1796419f68267250c0b8ae7138da36ab60b01
tree6cb0727cc82ed18f78535a5142b7afb824c75bb4
parent3ec522bc1c1c5a7fb66b85d4fb6a0fe80581d597
Cleanup symbol exports on darwin and add architecture preprocessor checks to assist in building fat binaries (eg: i386+x86_64 on macOS or arm+aarch64 on iOS) (#450)

* x86: Ensure _efi64 suffixed symbols are not exported

* x86: Ensure we do not export ffi_prep_cif_machdep

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* x86: Ensure we don't export ffi_call_win64, ffi_closure_win64, or ffi_go_closure_win64

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* closures: Silence a semantic warning

libffi/src/closures.c:175:23: This function declaration is not a prototype

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* aarch64: Ensure we don't export ffi_prep_cif_machdep

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* arm: Ensure we don't export ffi_prep_cif_machdep

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* aarch64, arm, x86: Add architecture preprocessor checks to support easier fat builds (eg: iOS)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* x86: Silence some static analysis warnings

libffi/src/x86/ffi64.c:286:21: The left operand of '!=' is a garbage value due to array index out of bounds
libffi/src/x86/ffi64.c:297:22: The left operand of '!=' is a garbage value due to array index out of bounds

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* aarch: Use FFI_HIDDEN rather than .hidden

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* ffi.h: Don't advertise ffi_java_rvalue_to_raw, ffi_prep_java_raw_closure, and ffi_prep_java_raw_closure_loc when FFI_NATIVE_RAW_API is 0

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
include/ffi.h.in
src/aarch64/ffi.c
src/aarch64/sysv.S
src/arm/ffi.c
src/arm/sysv.S
src/closures.c
src/x86/ffi.c
src/x86/ffi64.c
src/x86/ffiw64.c
src/x86/sysv.S
src/x86/win64.S