64 lines
2.2 KiB
Text
64 lines
2.2 KiB
Text
$NetBSD: patch-bw,v 1.3 2004/06/15 23:19:50 reinoud Exp $
|
|
|
|
diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp
|
|
--- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp 2001-09-29 05:12:52.000000000 +0900
|
|
+++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp 2004-05-11 16:29:31.000000000 +0900
|
|
@@ -188,6 +188,50 @@
|
|
* nsresult nsXPTCStubBase::Stub##n()
|
|
* Sets register $1 to "methodIndex" and jumps to SharedStub.
|
|
*/
|
|
+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
|
|
+#define STUB_ENTRY(n) \
|
|
+__asm__( \
|
|
+"#### Stub"#n" ####\n" \
|
|
+".text\n" \
|
|
+" .align 5\n" \
|
|
+" .if "#n" < 10 \n" \
|
|
+" .globl _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
|
|
+" .ent _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
|
|
+"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n" \
|
|
+" .frame $30,0,$26,0\n" \
|
|
+" ldgp $29,0($27)\n" \
|
|
+"$_ZN14nsXPTCStubBase5Stub"#n"Ev..ng:\n" \
|
|
+" .prologue 1\n" \
|
|
+" lda $1,"#n"\n" \
|
|
+" br $31,$SharedStub..ng\n" \
|
|
+" .end _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
|
|
+" .elseif "#n" < 100 \n" \
|
|
+" .globl _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
|
|
+" .ent _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
|
|
+"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n" \
|
|
+" .frame $30,0,$26,0\n" \
|
|
+" ldgp $29,0($27)\n" \
|
|
+"$_ZN14nsXPTCStubBase6Stub"#n"Ev..ng:\n" \
|
|
+" .prologue 1\n" \
|
|
+" lda $1,"#n"\n" \
|
|
+" br $31,$SharedStub..ng\n" \
|
|
+" .end _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
|
|
+" .elseif "#n" < 1000 \n" \
|
|
+" .globl _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
|
|
+" .ent _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
|
|
+"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n" \
|
|
+" .frame $30,0,$26,0\n" \
|
|
+" ldgp $29,0($27)\n" \
|
|
+"$_ZN14nsXPTCStubBase7Stub"#n"Ev..ng:\n" \
|
|
+" .prologue 1\n" \
|
|
+" lda $1,"#n"\n" \
|
|
+" br $31,$SharedStub..ng\n" \
|
|
+" .end _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
|
|
+" .else\n" \
|
|
+" .err \"stub number "#n"> 1000 not yet supported\"\n" \
|
|
+" .endif\n" \
|
|
+ );
|
|
+#else /* G++2.95 ABI */
|
|
#define STUB_ENTRY(n) \
|
|
__asm__( \
|
|
"#### Stub"#n" ####\n" \
|
|
@@ -204,6 +248,7 @@
|
|
"br $31,$SharedStub..ng\n\t" \
|
|
".end Stub"#n"__14nsXPTCStubBase" \
|
|
);
|
|
+#endif
|
|
|
|
#define SENTINEL_ENTRY(n) \
|
|
nsresult nsXPTCStubBase::Sentinel##n() \
|