diff options
author | tduehr <tduehr@gmail.com> | 2015-03-19 16:44:33 -0700 |
---|---|---|
committer | tduehr <tduehr@gmail.com> | 2015-06-17 09:01:47 -0500 |
commit | e9d07620ae8ac090863998d22ab7ca0db9cd1e89 (patch) | |
tree | ba0c75a8e11e88123926cb9817a3bb0a7c1b157b /ext/ffi_c/libffi/src/powerpc/aix_closure.S | |
parent | 194784d60f53e242a8aab88c216126785dc047dd (diff) | |
download | ffi-libffi-3.2.1.tar.gz |
update libffilibffi-3.2.1
Diffstat (limited to 'ext/ffi_c/libffi/src/powerpc/aix_closure.S')
-rw-r--r-- | ext/ffi_c/libffi/src/powerpc/aix_closure.S | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/ffi_c/libffi/src/powerpc/aix_closure.S b/ext/ffi_c/libffi/src/powerpc/aix_closure.S index c906017..aabd3c3 100644 --- a/ext/ffi_c/libffi/src/powerpc/aix_closure.S +++ b/ext/ffi_c/libffi/src/powerpc/aix_closure.S @@ -167,6 +167,7 @@ ffi_closure_ASM: /* look up the proper starting point in table */ /* by using return type as offset */ + lhz r3, 10(r3) /* load type from return type */ ld r4, LC..60(2) /* get address of jump table */ sldi r3, r3, 4 /* now multiply return type by 16 */ ld r0, 240+16(r1) /* load return address */ @@ -339,8 +340,9 @@ L..finish: /* look up the proper starting point in table */ /* by using return type as offset */ + lhz r3, 6(r3) /* load type from return type */ lwz r4, LC..60(2) /* get address of jump table */ - slwi r3, r3, 4 /* now multiply return type by 4 */ + slwi r3, r3, 4 /* now multiply return type by 16 */ lwz r0, 176+8(r1) /* load return address */ add r3, r3, r4 /* add contents of table to table address */ mtctr r3 |