diff options
author | Paolo Molaro <lupus@oddwiz.org> | 2006-01-24 11:37:10 +0000 |
---|---|---|
committer | guest <ivmai@mail.ru> | 2011-07-29 15:28:02 +0400 |
commit | dc5d3c40f99d052ff2b9ca6e670eaebe62606bdd (patch) | |
tree | d1b8381f437e7b1c25a9785483bd4b2020f15479 /powerpc_darwin_mach_dep.s | |
parent | 7cc0cf3e9b380aa96180ae145e9fedc4bde76fa1 (diff) | |
download | bdwgc-dc5d3c40f99d052ff2b9ca6e670eaebe62606bdd.tar.gz |
Tue Jan 24 12:34:06 CET 2006 Paolo Molaro <lupus@ximian.com>
* *: update from upstream changes.
svn path=/trunk/mono/; revision=55979
Diffstat (limited to 'powerpc_darwin_mach_dep.s')
-rw-r--r-- | powerpc_darwin_mach_dep.s | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/powerpc_darwin_mach_dep.s b/powerpc_darwin_mach_dep.s index 92f2c93c..fd23110b 100644 --- a/powerpc_darwin_mach_dep.s +++ b/powerpc_darwin_mach_dep.s @@ -1,7 +1,7 @@ ; GC_push_regs function. Under some optimization levels GCC will clobber ; some of the non-volatile registers before we get a chance to save them -; therefore, this can't be inline asm. +; therefore, this cannot be inline asm. .text .align 2 @@ -64,7 +64,8 @@ _GC_push_regs: ; PIC stuff, generated by GCC .data -.picsymbol_stub +.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 + .align 2 L_GC_push_one$stub: .indirect_symbol _GC_push_one mflr r0 @@ -73,12 +74,12 @@ L0$_GC_push_one: mflr r11 addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one) mtlr r0 - lwz r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11) + lwzu r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11) mtctr r12 - addi r11,r11,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one) bctr .data .lazy_symbol_pointer L_GC_push_one$lazy_ptr: .indirect_symbol _GC_push_one .long dyld_stub_binding_helper + |