Hi, this patch fixes the Win64-code so that we use only pc-relative addressing. This is of importance if code gets linked to an pe-image with an image-base above 2GB.
ChangeLog 2013-03-22 Kai Tietz <kti...@redhat.com> * src/x86/win64.S: Make use of ffi_closure_win64_inner symbol pc-relative. Tested for x86_64-w64-mingw32, and for upcoming x86_64-pc-cygwin target. Ok for apply? Regards, Kai Index: src/x86/win64.S =================================================================== --- src/x86/win64.S (Revision 196898) +++ src/x86/win64.S (Arbeitskopie) @@ -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,