Updating calls to ffi_closure_unix64_inner and ffi_closure_win64_inner to use PLT. Without this fix, statically linking libffi causes the linker error i.e. 'requires dynamic R_X86_64_PC32 reloc against ffi_closure_unix64_inner which may overflow at runtime; recompile with -fPIC)'
This commit is contained in:
@@ -274,7 +274,7 @@ L(do_closure):
|
||||
leaq ffi_closure_OFS_RVALUE(%rsp), %rcx /* Load rvalue */
|
||||
movq %rsp, %r8 /* Load reg_args */
|
||||
leaq ffi_closure_FS+8(%rsp), %r9 /* Load argp */
|
||||
call C(ffi_closure_unix64_inner)
|
||||
call PLT(C(ffi_closure_unix64_inner))
|
||||
|
||||
/* Deallocate stack frame early; return value is now in redzone. */
|
||||
addq $ffi_closure_FS, %rsp
|
||||
|
||||
@@ -214,7 +214,7 @@ C(ffi_closure_win64):
|
||||
movsd %xmm3, ffi_clo_OFF_X+24(%rsp)
|
||||
|
||||
leaq ffi_clo_OFF_R(%rsp), %r9
|
||||
call C(ffi_closure_win64_inner)
|
||||
call PLT(C(ffi_closure_win64_inner))
|
||||
|
||||
/* Load the result into both possible result registers. */
|
||||
movq ffi_clo_OFF_R(%rsp), %rax
|
||||
|
||||
Reference in New Issue
Block a user