summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libffi/ChangeLog6
-rw-r--r--libffi/src/powerpc/darwin_closure.S7
2 files changed, 10 insertions, 3 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index b5905fac96f..a9d240a6128 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,9 @@
+2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR libffi/49594
+ * src/powerpc/darwin_closure.S (stubs): Make the stub binding
+ helper reference track the architecture pointer size.
+
2011-08-25 Andrew Haley <aph@redhat.com>
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
diff --git a/libffi/src/powerpc/darwin_closure.S b/libffi/src/powerpc/darwin_closure.S
index 8c0e11a1844..b43f9658fce 100644
--- a/libffi/src/powerpc/darwin_closure.S
+++ b/libffi/src/powerpc/darwin_closure.S
@@ -534,7 +534,7 @@ L_ffi_closure_helper_DARWIN$stub:
.lazy_symbol_pointer
L_ffi_closure_helper_DARWIN$lazy_ptr:
.indirect_symbol _ffi_closure_helper_DARWIN
- .long dyld_stub_binding_helper
+ .g_long dyld_stub_binding_helper
#if defined(__ppc64__)
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
@@ -553,7 +553,8 @@ L_darwin64_struct_ret_by_value_p$stub:
.lazy_symbol_pointer
L_darwin64_struct_ret_by_value_p$lazy_ptr:
.indirect_symbol _darwin64_struct_ret_by_value_p
- .long dyld_stub_binding_helper
+ .g_long dyld_stub_binding_helper
+
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 5
L_darwin64_pass_struct_floats$stub:
@@ -570,6 +571,6 @@ L_darwin64_pass_struct_floats$stub:
.lazy_symbol_pointer
L_darwin64_pass_struct_floats$lazy_ptr:
.indirect_symbol _darwin64_pass_struct_floats
- .long dyld_stub_binding_helper
+ .g_long dyld_stub_binding_helper
# endif
#endif