Merge pull request #68 from zeldin/master

Linux/ppc64: Remove assumption on contents of r11 in closure
This commit is contained in:
Anthony Green
2014-02-15 08:06:11 -05:00
2 changed files with 6 additions and 1 deletions
+2 -1
View File
@@ -697,7 +697,8 @@ ffi_prep_closure_loc_linux64 (ffi_closure *closure,
/* Copy function address and TOC from ffi_closure_LINUX64. */
memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
tramp[2] = codeloc;
tramp[2] = tramp[1];
tramp[1] = codeloc;
#endif
closure->cif = cif;
+4
View File
@@ -100,6 +100,10 @@ ffi_closure_LINUX64:
# load up the pointer to the parm save area
mr %r5, %r12
# else
# copy r2 to r11 and load TOC into r2
mr %r11, %r2
ld %r2, 16(%r11)
mflr %r0
# Save general regs into parm save area
# This is the parameter save area set up by our caller.