This is the mail archive of the archer@sourceware.org mailing list for the Archer project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR 2488 status and some unwinder questions


Daniel Jacobowitz wrote:
On Fri, Nov 21, 2008 at 11:39:31AM +0000, Phil Muldoon wrote:
FWIW, I would be a lot happier if you could do this using the
ABI-defined names. uw_install_context is an internal detail of the
GCC implementation. Other vendor compilers using the C++ ABI will
still have _Unwind_RaiseException, but will not have
uw_install_context.

Sorry for the delay in replying.


Yeah, I was looking at _Unwind_RaiseException. The last (non returning) call there is to uw_install_context. The struct with the context change is actually sourced within _Unwind_RaiseException but I'm not sure if it was being frobbed in uw_install_context. I'll take a newer, more detailed look. But you are totally right I should not wander into the weeds and stick within the ABI-defined names


We ought to be able to step until the exit of _Unwind_RaiseException.

Well the last call in _Unwind_RaiseException, is into uw_install_context which does not return. If you step until the exit of uw_install_context, then after that you end up back in the inferior's own code.


That's what we tried to do for longjmp but unfortunately we ran into
some problems keeping track of the frame once we start restoring.


Yes, this is horribly complex to keep track off.


Pedro might have more ideas... I was thinking we could detect some
"epilogue-like" sequences when stepping out of a function.


I flirted with this idea several times (normally in moments of utter frustration at trying to do above ;). It is an intriguing idea. However epilogue detection code seems fraught with difficulties with different architectures and GCC optimization hurdles. But I've not really explored it beyond this thought. Do you (or anyone else) have any pointers or previous work to start from? I'm willing to spend the time looking to see if this a good approach

Regards

Phil


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]