darwin-tramp.asm (__trampoline_setup): Make work for 64 bit.
2005-01-31 Dale Johannesen <dalej@apple.com> * config/rs6000/darwin-tramp.asm (__trampoline_setup): Make work for 64 bit. From-SVN: r94486
This commit is contained in:
parent
3b70b82ab9
commit
42d262fa87
|
@ -1,3 +1,8 @@
|
|||
2005-01-31 Dale Johannesen <dalej@apple.com>
|
||||
|
||||
* config/rs6000/darwin-tramp.asm (__trampoline_setup):
|
||||
Make work for 64 bit.
|
||||
|
||||
2005-01-31 Roger Sayle <roger@eyesopen.com>
|
||||
Dale Johannesen <dalej@apple.com>
|
||||
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
* executable file might be covered by the GNU General Public License.
|
||||
*/
|
||||
|
||||
/* APPLE LOCAL mainline throughout this file */
|
||||
|
||||
#include "darwin-asm.h"
|
||||
|
||||
/* Set up trampolines. */
|
||||
|
@ -68,11 +70,11 @@ LCF0:
|
|||
mflr r11
|
||||
addis r7,r11,ha16(LTRAMP-LCF0)
|
||||
lg r7,lo16(LTRAMP-LCF0)(r7)
|
||||
subi r7,r7,GPR_BYTES
|
||||
subi r7,r7,4
|
||||
li r8,trampoline_size /* verify trampoline big enough */
|
||||
cmpg cr1,r8,r4
|
||||
srwi r4,r4,2 /* # words to move (insns always 4-byte) */
|
||||
addi r9,r3,-GPR_BYTES /* adjust pointer for lgu */
|
||||
addi r9,r3,-4 /* adjust pointer for lgu */
|
||||
mtctr r4
|
||||
blt cr1,Labort
|
||||
|
||||
|
@ -80,8 +82,8 @@ LCF0:
|
|||
|
||||
/* Copy the instructions to the stack */
|
||||
Lmove:
|
||||
lgu r10,GPR_BYTES(r7)
|
||||
stgu r10,GPR_BYTES(r9)
|
||||
lwzu r10,4(r7)
|
||||
stwu r10,4(r9)
|
||||
bdnz Lmove
|
||||
|
||||
/* Store correct function and static chain */
|
||||
|
|
Loading…
Reference in New Issue