summaryrefslogtreecommitdiff
path: root/www/firefox/patches/patch-bw
blob: c3eff81e6c8da9c8aca713dc0861b1e93792d5a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
$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() \