This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello, I'm about to add support for Cygwin-64 and Java to GCC's libffi. There were a few problems in the libffi that needed to be fixed for this. Could some one please take care that this patch (or an equivalent fix) also goes to the original libffi sources? Thanks, Bernd Edlinger libffi/ChangeLog: 2014-05-11 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix current cygwin-64 build problems. * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API). * src/x86/ffi.c: Add if defined(__CYGWIN__). * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT. Added SEH information. Fixed formatting. Please note, that we already have a small patch in win64.S since almost a year, which did apparently not get checked in into the libffi sources either. see http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=196900 --- trunk/libffi/src/x86/win64.S 2013/03/22 09:12:46 196899 +++ trunk/libffi/src/x86/win64.S 2013/03/22 09:38:55 196900 @@ -295,7 +295,7 @@ mov %rax, %rcx # context is first parameter mov %rsp, %rdx # stack is second parameter add $48, %rdx # point to start of arguments - mov $SYMBOL_NAME(ffi_closure_win64_inner), %rax + leaq SYMBOL_NAME(ffi_closure_win64_inner)(%rip), %rax callq *%rax # call the real closure function add $40, %rsp movq %rax, %xmm0 # If the closure returned a float,
Attachment:
patch-cygwin64.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |