Date: 10 Sep 2002 01:32:33 -0400 From: Joe Marcus Clarke <marcus@marcuscom.com> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: obrien@FreeBSD.ORG, alpha@FreeBSD.ORG Subject: Re: getting closer (was Re: mozilla failure on 4.6.2) Message-ID: <1031635953.342.133.camel@gyros.marcuscom.com> In-Reply-To: <15741.17468.701009.998323@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> <15741.2822.526047.253409@grasshopper.cs.duke.edu> <1031605410.351.90.camel@gyros.marcuscom.com> <15741.17468.701009.998323@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2002-09-09 at 21:00, Andrew Gallatin wrote: > > No beer yet. It still segv's like this: > > (gdb) where > #0 0x1602a25c4 in PLDHashTableEnumeratorImpl::GetNext () > from /home/gallatin/ports/www/mozilla-devel/work/mozilla/dist/bin/libxpcom.so > #1 0x1602aaff8 in nsComponentManagerImpl::RegisterFactoryLocation () > from /home/gallatin/ports/www/mozilla-devel/work/mozilla/dist/bin/libxpcom.so > #2 0x1602e1d78 in XPTC_InvokeByIndex () > from /home/gallatin/ports/www/mozilla-devel/work/mozilla/dist/bin/libxpcom.so > warning: Hit heuristic-fence-post without finding > warning: enclosing function for address 0x120151910 > > The interesting thing is the "mutliple inheritance test" seems to be > failing, now that I look closely at it: > > Calling Bar... > direct calls: > FooBarImpl2::BarMethod1 called with i == 1, local value = 12345678 > FooBarImpl2::BarMethod2 called with i == 2, local value = 12345678 > invoke calls: > FooBarImpl2::BarMethod1 called with i == 1, local value = 0 > FooBarImpl2::BarMethod2 called with i == 2, local value = 0 > > > (gdb) break FooBarImpl2::BarMethod1 > Breakpoint 2 at 0x120002c50: file TestXPTCInvoke.cpp, line 977. > (gdb) r > Starting program: /home/gallatin/ports/www/mozilla-devel/work/mozilla/xpcom/reflect/xptcall/tests/./TestXPTCInvoke > <...> > > Breakpoint 2, FooBarImpl2::BarMethod1 (this=0x12001c080, i=1) at TestXPTCInvoke.cpp:977 > 977 i, value); > (gdb) > Continuing. > FooBarImpl2::BarMethod1 called with i == 1, local value = 12345678 > FooBarImpl2::BarMethod2 called with i == 2, local value = 12345678 > invoke calls: > > Breakpoint 2, FooBarImpl2::BarMethod1 (this=0x12001c088, i=1) at TestXPTCInvoke.cpp:977 > 977 i, value); > (gdb) > Continuing. > FooBarImpl2::BarMethod1 called with i == 1, local value = 0 > FooBarImpl2::BarMethod2 called with i == 2, local value = 0 > > Notice how "this" has been incremented by 8 bytes? I have no clue > where that's coming from. If I look at *(FooBarImpl2 *)0x12001c080, > it looks correct. > > Help is welcome.. I don't have an Alpha or know much about Alpha assembly, but could the 8 bytes be coming from: "addq $30,8,$16\n\t" /* pass stack pointer */ If I read things right, they're adding 8 to the "this" address, and storing it in register $16. Then, they load "this" from $16. Like I said, I don't know if this is correct, and I currently have no way of testing it. But: stq $16,0($30) (store "this" [stack pointer offset 0 bytes]) ... addq $30,8,$16 Add 8 to the stack pointer ("this", right), and store it in $16. Joe > > Drew > > -- PGP Key : http://www.marcuscom.com/pgp.asc 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?1031635953.342.133.camel>