more-xptcall
author Benjamin Smedberg <benjamin@smedbergs.us>
Sat, 26 Jul 2008 22:49:39 -0400
changeset 167 a4da40849f5436e629c5732f4368c6c48189637f
parent 51 582be821e1d70635bcc04f7cb7ab588f2ddf464e
permissions -rw-r--r--
State as of now

diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp
--- a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp
@@ -180,7 +180,8 @@ __asm__ (
 	"movl  (%ecx), %edx\n\t"
 	"movl  0x0c(%ebp), %eax\n\t"    /* function index */
 #if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
-	"leal  (%edx,%eax,4), %edx\n\t"
+        /* skip two destructors and CustomMark */
+	"leal  12(%edx,%eax,4), %edx\n\t"
 #else /* not G++ V3 ABI  */
 	"leal  8(%edx,%eax,4), %edx\n\t"
 #endif /* G++ V3 ABI */