Re: [DynInst_API:] Broken exception handling in main()


Date: Tue, 25 Sep 2012 14:23:22 -0500
From: Andrew Bernat <bernat@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] Broken exception handling in main()
On Sep 25, 2012, at 2:20 PM, Josh Stone <jistone@xxxxxxxxxx> wrote:

Ok, great!  I'm glad you've already thought about this, because I expect
it's definitely possible to get exception unwinding correct, but maybe
not trivial.

Extensively, as it turns out :) 

I'm not clear from your reply about the current status of dyninst.git
vs. your research.  Do you mean that Dyninst doesn't handle exceptions
at all right now?  Or that it works barring some bugs (like my test),
and your research is the more elegant technique?

Dyninst uses an efficient code movement technique that completely breaks exceptions because it mangles some elements of process state to reduce overhead. My system preserves those aspects of process state, but incurs overhead to do so. That's why we don't use my approach in general. That said, we can also update the exception tables - which is the better approach - but that'll have to be shortly after the (immanent?) 8.0. 

Drew




[← Prev in Thread] Current Thread [Next in Thread→]