$NetBSD: patch-cc,v 1.1 2004/12/04 02:16:03 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 */