[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: developer accessible machines



On Sat, May 17, 2008 at 09:27:47AM +0200, Mike Hommey wrote:
> PS: FWIW, I need to debug the xptcstubs in the xulrunner package.

Thanks to access given by Thibaut, I was able to tackle this problem,
but I now need a hppa wizard help to solve.

What is happening is that the assembly code in
xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s relies on
the caller (nsXPTCStubBase::Stubnnn, in xptcstubs_pa32.cpp in the same
directory) stack frame size to get the "this" variable from it.

The problem is that depending on the level of optimization,
nsXPTCStubBase::Stubnnn can have a zero-sized stack frame size: since
"this" is not used, there is no reason for gcc not to do that.

What I feel should be the proper fix for this would be to pass "this" to
the SharedStub function so that it doesn't rely on the stack frame size,
but I don't know hppa assembly enough to do the necessary changes to the
assembly code.

A quick workaround is to build the xptcstubs_pa32.cpp without
optimization...

Could someone take a quick look into this?

Thanks

Mike

PS: Quick access to the files:
http://lxr.mozilla.org/mozilla/source/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s
http://lxr.mozilla.org/mozilla/source/xpcom/reflect/xptcall/src/md/unix/xptcstubs_pa32.cpp
(xptcstubsdef.inc does the various STUB_ENTRY(n) definitions, see
http://lxr.mozilla.org/mozilla/source/xpcom/reflect/xptcall/public/xptcstubsdef.inc)


Reply to: