src/x86/ffi64.c


Log

Author Commit Date CI Message
zhanhb c4f61240 2019-10-09T18:59:32 Add long double test (#492) Required to fix build error on macos with gcc-9
Jeremy Huddleston Sequoia 05a17964 2019-02-19T04:11:28 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>
Anthony Green b55baf0b 2018-05-09T13:21:02 Handle FFI_GNUW64 on non-Windows systems (EFI)
Tom Tromey 4c2206ac 2018-04-28T04:46:10 Fix two "return" issues in x86/ffi64.c (#431) Issue #70 pointed out that at least one compiler didn't like: return ffi_call_efi64(cif, fn, rvalue, avalue); ... where the return type is "void". This patch splits the statement into two. I also noticed that ffi_call_go here seems to do a double call. I suspect a "return" is missing here, so this patch adds it as well.
Anthony Green 927da716 2017-10-25T13:05:53 Merge pull request #379 from jlj/master Xcode build improvements
H.J. Lu 9d9d92b4 2017-10-25T04:59:31 Skip WIN64/EFI64 support for x32 Since x32 doesn't support WIN64/EFI64, skip it if __ILP32__ is defined.
Jean-Luc Jumpertz 181fc4cc 2017-10-23T15:02:29 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
Jean-Luc Jumpertz a78da739 2017-09-04T15:55:34 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.
Francis Ricci 9c12209d 2017-08-03T10:46:28 Fix misaligned memory access in ffi_call_int
Gregory Pakosz bd72848c 2017-04-27T13:20:36 Prefix ALIGN macros with FFI_
Berker Peksag 4a677a42 2016-03-05T09:58:38 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.
Josh Triplett 1f6b5a91 2015-07-26T16:27:34 Support the WIN64/EFI64 calling convention on all X86_64 platforms Add a new calling convention FFI_EFI64, alias FFI_WIN64, on all X86_64 platforms. This allows libffi compiled on a 64-bit x86 platform to call EFI functions. Compile in ffiw64.c and win64.S on all X86_64 platforms. When compiled for a platform other than X86_WIN64, ffiw64.c suffixes its functions with _efi64, to avoid conflict with the platform's actual implementations of those functions.
Richard Henderson a03d2310 2014-12-24T16:03:34 x86: Load structure return address into eax
Richard Henderson 2f652469 2014-12-11T14:16:00 x86: Handle void arguments as if an empty structure Since libffi currently doesn't allow empty structures, libgo currently maps them to ffi_type_void. Given that we'll abort on this case, handle it gracefully.
Richard Henderson 610c90bf 2014-10-28T11:21:50 x86_64: Add support for complex types
Richard Henderson 32c56831 2014-10-28T11:17:35 x86_64: Decouple return types from FFI_TYPE constants We can better support structure returns, and as prep for complex types.
Richard Henderson 2e9dc165 2014-10-27T13:41:39 x86_64: Fixups for x32
Richard Henderson 6b62fb4a 2014-10-17T11:11:58 x86-64: Support go closures Dumps all of the hand-coded unwind info for gas generated. Move jump table data into .rodata. Adjust ffi_call_unix64 to load the static chain. Split out sse portions of ffi_closure_unix64 to ffi_closure_unix64_sse rather than test cif->flags at runtime.
Anthony Green edf29c51 2014-02-28T00:50:25 Merge pull request #75 from joshtriplett/longdouble Fix build error on x86 without distinct long double
Josh Triplett 3998d260 2014-02-17T11:20:33 Fix build error on x86 without distinct long double src/x86/ffi64.c: In function 'classify_argument': src/x86/ffi64.c:205:5: error: duplicate case value case FFI_TYPE_LONGDOUBLE: ^ src/x86/ffi64.c:202:5: error: previously used here case FFI_TYPE_DOUBLE: ^
Zachary Waldowski 9da28b44 2013-12-30T16:23:21 Darwin/x86_64: Fix 64-bit type shortening warnings
Anthony Green 3dc3f32c 2013-12-05T16:23:25 Undo iOS ARM64 changes.
Zachary Waldowski 33c46ce5 2013-11-30T04:13:42 Darwin/Mac: Fix 64/32 shortening warnings
Jens Timmerman b8a91d81 2013-07-02T10:57:37 added include for xmmintrin.h
Anthony Green 6a790129 2013-02-06T17:37:15 Work around LLVM ABI problem on x86-64
Anthony Green 8bf987d4 2013-01-10T17:24:51 Fix for sunpro compiler on Solaris
Anthony Green a044a56b 2012-04-06T10:39:10 Linux/x32 libtool fix
Anthony Green 964c5b93 2012-03-03T14:46:20 abi check fixes and Linux/x32 support
Anthony Green 1fbf9dc4 2011-02-13T08:06:39 Fix bad_abi test. rc5.
Anthony Green 69dbe845 2011-02-09T07:38:43 Fix xfails
Anthony Green 0e584399 2011-02-08T07:52:40 Refresh from GCC
Anthony Green 2db72615 2010-11-21T10:50:56 Rebase
Anthony Green 3de1eb36 2010-03-15T05:57:24 fix-comments patch
Anthony Green 115ab36f 2009-12-24T00:22:00 Update missing changes for 3.0.9r4.
Anthony Green c6dddbd0 2009-10-04T08:11:33 Initial commit