Date: Mon, 9 Sep 2002 16:56:38 -0400 (EDT) From: Andrew Gallatin <gallatin@cs.duke.edu> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: obrien@FreeBSD.ORG, Joe Marcus Clarke <marcus@marcuscom.com>, alpha@FreeBSD.ORG Subject: getting closer (was Re: mozilla failure on 4.6.2) Message-ID: <15741.2822.526047.253409@grasshopper.cs.duke.edu> In-Reply-To: <15739.43883.152090.936327@grasshopper.cs.duke.edu> References: <20020906040641.GA61111@xor.obsecurity.org> <1031287598.361.2.camel@gyros.marcuscom.com> <15736.40749.986834.818558@grasshopper.cs.duke.edu> <1031329151.342.9.camel@gyros.marcuscom.com> <20020906194732.GA2244@dragon.nuxi.com> <15737.2550.488154.4401@grasshopper.cs.duke.edu> <20020907000825.GA4091@dragon.nuxi.com> <15739.43883.152090.936327@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin writes:
>
> David O'Brien writes:
> > The vtable format in stable is not the same as AlphaLinux, it is the same
> > in -CURRENT. Do we know if the results you posted also happen on
> > -CURRENT?
>
> Checking now. Can you explain the vtable format in -stable, or point
> me at a description so I can modify the code to work with -stable?
>
I think I may have figured it out.. I stumbled on the
$vtable symbol.
This appended patch *seems* to work as far as the TestXPTCInvoke code
goes. I'm going to try YAMB (yet another mozilla build) now.
I hope I can get it to the post-build stage to see if this fixes the segvs.
Drew
--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp.bak Mon Sep 9 14:47:20 2002
+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp Mon Sep 9 16:48:45 2002
@@ -163,7 +163,12 @@
"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 0
"s8addq $2,16,$2\n\t" /* vtable index = "methodIndex" * 8 + 16 */
+#else
+ "mulq $2,16,$2\n\t"
+ "addq $2, 24, $2\n\t" /* vtable index = "methodIndex" * 16 + 24 */
+#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 */
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15741.2822.526047.253409>
