summaryrefslogtreecommitdiff
path: root/www/firefox/patches/patch-cc
blob: aec53df76345a4b0f3e7aff77c2bdba4a6c4abb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$NetBSD: patch-cc,v 1.2 2005/09/22 14:14:04 jlam Exp $

--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp.orig	2001-09-28 20:12:51.000000000 +0000
+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp
@@ -163,7 +163,11 @@ __asm__(
     "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 */