16 lines
859 B
Text
16 lines
859 B
Text
$NetBSD: patch-cc,v 1.1 2004/09/01 00:01:59 taya Exp $
|
|
|
|
--- /mnt/local/src/mozilla-1.7rc3/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp 2004-08-13 01:24:00.000000000 +0900
|
|
+++ ./xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp 2004-08-13 01:23:35.000000000 +0900
|
|
@@ -163,7 +163,11 @@
|
|
"bis $16,$16,$1\n\t" /* load "this" */
|
|
"ldq $2,16($15)\n\t" /* load "methodIndex" */
|
|
"ldq $1,0($1)\n\t" /* load vtable */
|
|
+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
|
|
+ "s8addq $2,0,$2\n\t" /* vtable index = "methodIndex" * 8 */
|
|
+#else /* G++2.95 ABI */
|
|
"s8addq $2,16,$2\n\t" /* vtable index = "methodIndex" * 8 + 16 */
|
|
+#endif
|
|
"addq $1,$2,$1\n\t"
|
|
"ldq $27,0($1)\n\t" /* load address of function */
|
|
"jsr $26,($27),0\n\t" /* call virtual function */
|