summaryrefslogtreecommitdiff
path: root/www/mozilla/patches/patch-cc
blob: b8ad5481195788e7de0c08b364b32bb024885735 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$NetBSD: patch-cc,v 1.1 2004/08/15 01:33:58 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 */