Re: [DynInst_API:] Removed createInstPointAtAddr


Date: Wed, 25 Apr 2012 18:40:21 -0700
From: Josh Stone <jistone@xxxxxxxxxx>
Subject: Re: [DynInst_API:] Removed createInstPointAtAddr
On 04/25/2012 02:30 PM, Andrew Bernat wrote:
> Okay, I've had a free minute to whip this interface up. I've attached
> a patch against current dyninst head that implements three new
> methods:
> 
> BPatch_function::createPointAtAddr; takes an address
> (Dyninst::Address) and returns a point if that address corresponds to
> the start of an instruction. Does some validity checking for that. 
> BPatch_module and BPatch_image::createPointsAtAddr; takes an address
> and a vector of points and fills in the vector. May return multiple
> points if there are overlapping functions.
> 
> Let me know if this looks good to you and I'll push it to the master
> branch.

Sure - the API looks sane, and I was immediately able to get it working
through the image version, so looks good to me!

Actually, even the longjmp failure I had before looks a little better,
though it's still broken.  Before createInstPointAtAddr just gave NULL,
but with BPatch_image::createPointsAtAddr I get one point back in the
vector.  It still doesn't seem to execute instrumentation though.
Perhaps there's just something too weird about the way longjmp internals
work?  I'll keep this on my todo list to explore...

Given how you implemented this at multiple levels, it may indeed make
sense to add a createPointsAtAddr in my BPatch_object patch as well.
[Still waiting for general feedback on that, nudge nudge ;)]


Thanks,
Josh
[← Prev in Thread] Current Thread [Next in Thread→]