From Jens Rehsack. Fix for 64-bit AIX.
This commit is contained in:
@@ -96,8 +96,12 @@
|
|||||||
.globl .ffi_call_AIX
|
.globl .ffi_call_AIX
|
||||||
.csect ffi_call_AIX[DS]
|
.csect ffi_call_AIX[DS]
|
||||||
ffi_call_AIX:
|
ffi_call_AIX:
|
||||||
|
#if defined(_ARCH_PPC64)
|
||||||
|
.llong .ffi_call_AIX, TOC[tc0], 0
|
||||||
|
#else
|
||||||
.long .ffi_call_AIX, TOC[tc0], 0
|
.long .ffi_call_AIX, TOC[tc0], 0
|
||||||
.csect .text[PR]
|
#endif
|
||||||
|
.csect .text[PR]
|
||||||
.ffi_call_AIX:
|
.ffi_call_AIX:
|
||||||
mr r12,r8 // We only need r12 until the call, so it doesn't have to be saved...
|
mr r12,r8 // We only need r12 until the call, so it doesn't have to be saved...
|
||||||
/* Save the old stack pointer as AP. */
|
/* Save the old stack pointer as AP. */
|
||||||
@@ -216,7 +220,11 @@ L(float_return_value):
|
|||||||
.globl .ffi_call_DARWIN
|
.globl .ffi_call_DARWIN
|
||||||
.csect ffi_call_DARWIN[DS]
|
.csect ffi_call_DARWIN[DS]
|
||||||
ffi_call_DARWIN:
|
ffi_call_DARWIN:
|
||||||
|
#if defined(_ARCH_PPC64)
|
||||||
|
.llong .ffi_call_DARWIN, TOC[tc0], 0
|
||||||
|
#else
|
||||||
.long .ffi_call_DARWIN, TOC[tc0], 0
|
.long .ffi_call_DARWIN, TOC[tc0], 0
|
||||||
|
#endif
|
||||||
.csect .text[PR]
|
.csect .text[PR]
|
||||||
.ffi_call_DARWIN:
|
.ffi_call_DARWIN:
|
||||||
blr
|
blr
|
||||||
|
|||||||
@@ -84,6 +84,7 @@
|
|||||||
#define L(x) x
|
#define L(x) x
|
||||||
.file "aix_closure.S"
|
.file "aix_closure.S"
|
||||||
.toc
|
.toc
|
||||||
|
.extern .ffi_closure_helper_DARWIN
|
||||||
LC..60:
|
LC..60:
|
||||||
.tc L..60[TC],L..60
|
.tc L..60[TC],L..60
|
||||||
.csect .text[PR]
|
.csect .text[PR]
|
||||||
@@ -96,7 +97,11 @@ LC..60:
|
|||||||
.csect ffi_closure_ASM[DS]
|
.csect ffi_closure_ASM[DS]
|
||||||
|
|
||||||
ffi_closure_ASM:
|
ffi_closure_ASM:
|
||||||
|
#if defined(_ARCH_PPC64)
|
||||||
|
.llong .ffi_closure_ASM, TOC[tc0], 0
|
||||||
|
#else
|
||||||
.long .ffi_closure_ASM, TOC[tc0], 0
|
.long .ffi_closure_ASM, TOC[tc0], 0
|
||||||
|
#endif
|
||||||
.csect .text[PR]
|
.csect .text[PR]
|
||||||
.ffi_closure_ASM:
|
.ffi_closure_ASM:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user