summaryrefslogtreecommitdiff
path: root/lang/kaffe/patches/patch-ae
diff options
context:
space:
mode:
Diffstat (limited to 'lang/kaffe/patches/patch-ae')
-rw-r--r--lang/kaffe/patches/patch-ae134
1 files changed, 134 insertions, 0 deletions
diff --git a/lang/kaffe/patches/patch-ae b/lang/kaffe/patches/patch-ae
new file mode 100644
index 00000000000..c9e3cc20c4a
--- /dev/null
+++ b/lang/kaffe/patches/patch-ae
@@ -0,0 +1,134 @@
+$NetBSD: patch-ae,v 1.3 2003/09/16 20:15:33 jmmv Exp $
+
+--- config/alpha/trampolines.c.orig 2001-06-18 11:39:22.000000000 +0100
++++ config/alpha/trampolines.c 2003-08-11 13:10:17.142991000 +0100
+@@ -32,11 +32,11 @@
+
+ #if !defined(START_ASM_FUNC)
+ #define START_ASM_FUNC(FUNC) \
+- ".text \n\
+- .align 3 \n\
+- .globl " C_FUNC_NAME(FUNC) " \n\
+- .ent " C_FUNC_NAME(FUNC) " \n\
+-" C_FUNC_NAME(FUNC) ":"
++ ".text \n"\
++ ".align 3 \n"\
++ ".globl " C_FUNC_NAME(FUNC) " \n"\
++ ".ent " C_FUNC_NAME(FUNC) " \n"\
++ C_FUNC_NAME(FUNC) ":"
+ #endif
+ #if !defined(END_ASM_FUNC)
+ #define END_ASM_FUNC(FUNC) \
+@@ -44,59 +44,59 @@
+ #endif
+
+ asm(
+- START_ASM_FUNC(alpha_do_fixup_trampoline) " \n\
+- .frame $30,14*8,$26,0 \n\
+- .mask 0x04000000,-14*8 \n\
+- ldgp $29,0($27) \n\
+- lda $30,-14*8($30) # reserve 14 on stack \n\
+- \n\
+- # Save frame registers \n\
+- stq $26,0*8($30) # ra \n\
+- .prologue 1 \n\
+- \n\
+- # Save register arguments as local variables \n\
+- stq $16,1*8($30) # a0 \n\
+- stq $17,2*8($30) # a1 \n\
+- stq $18,3*8($30) # a2 \n\
+- stq $19,4*8($30) # a3 \n\
+- stq $20,5*8($30) # a4 \n\
+- stq $21,6*8($30) # a5 \n\
+- stt $f16,7*8($30) \n\
+- stt $f17,8*8($30) \n\
+- stt $f18,9*8($30) \n\
+- stt $f19,10*8($30) \n\
+- stt $f20,11*8($30) \n\
+- stt $f21,12*8($30) \n\
+- \n\
+- # Compute the address of methodTrampoline.method \n\
+- lda $16,8($1) \n\
+- # Call C to do the fixup \n\
+- jsr $26," C_FUNC_NAME(soft_fixup_trampoline) " \n\
+- ldgp $29,0($26) \n\
+- mov $0,$27 \n\
+- \n\
+- # Reload register arguments \n\
+- ldq $16,1*8($30) # a0 \n\
+- ldq $17,2*8($30) # a1 \n\
+- ldq $18,3*8($30) # a2 \n\
+- ldq $19,4*8($30) # a3 \n\
+- ldq $20,5*8($30) # a4 \n\
+- ldq $21,6*8($30) # a5 \n\
+- ldt $f16,7*8($30) \n\
+- ldt $f17,8*8($30) \n\
+- ldt $f18,9*8($30) \n\
+- ldt $f19,10*8($30) \n\
+- ldt $f20,11*8($30) \n\
+- ldt $f21,12*8($30) \n\
+- \n\
+- ldq $26,0*8($30) # ra \n\
+- lda $30,14*8($30) # release stack \n\
+- \n\
+- # Jump to translated method \n\
+- jmp $31,($27),0 \n\
+- \n\
+- # for __alpha_nextFrame() \n\
+- ret $31,($26),1 \n"
++ START_ASM_FUNC(alpha_do_fixup_trampoline) " \n"
++" .frame $30,14*8,$26,0 \n"
++" .mask 0x04000000,-14*8 \n"
++" ldgp $29,0($27) \n"
++" lda $30,-14*8($30) # reserve 14 on stack \n"
++" \n"
++" # Save frame registers \n"
++" stq $26,0*8($30) # ra \n"
++" .prologue 1 \n"
++" \n"
++" # Save register arguments as local variables \n"
++" stq $16,1*8($30) # a0 \n"
++" stq $17,2*8($30) # a1 \n"
++" stq $18,3*8($30) # a2 \n"
++" stq $19,4*8($30) # a3 \n"
++" stq $20,5*8($30) # a4 \n"
++" stq $21,6*8($30) # a5 \n"
++" stt $f16,7*8($30) \n"
++" stt $f17,8*8($30) \n"
++" stt $f18,9*8($30) \n"
++" stt $f19,10*8($30) \n"
++" stt $f20,11*8($30) \n"
++" stt $f21,12*8($30) \n"
++" \n"
++" # Compute the address of methodTrampoline.method \n"
++" lda $16,8($1) \n"
++" # Call C to do the fixup \n"
++" jsr $26," C_FUNC_NAME(soft_fixup_trampoline) " \n"
++" ldgp $29,0($26) \n"
++" mov $0,$27 \n"
++" \n"
++" # Reload register arguments \n"
++" ldq $16,1*8($30) # a0 \n"
++" ldq $17,2*8($30) # a1 \n"
++" ldq $18,3*8($30) # a2 \n"
++" ldq $19,4*8($30) # a3 \n"
++" ldq $20,5*8($30) # a4 \n"
++" ldq $21,6*8($30) # a5 \n"
++" ldt $f16,7*8($30) \n"
++" ldt $f17,8*8($30) \n"
++" ldt $f18,9*8($30) \n"
++" ldt $f19,10*8($30) \n"
++" ldt $f20,11*8($30) \n"
++" ldt $f21,12*8($30) \n"
++" \n"
++" ldq $26,0*8($30) # ra \n"
++" lda $30,14*8($30) # release stack \n"
++" \n"
++" # Jump to translated method \n"
++" jmp $31,($27),0 \n"
++" \n"
++" # for __alpha_nextFrame() \n"
++" ret $31,($26),1 \n"
+ END_ASM_FUNC(alpha_do_fixup_trampoline)
+ );
+