Re: [DynInst_API:] Removed createInstPointAtAddr


Date: Sat, 28 Apr 2012 13:51:09 -0500
From: Andrew Bernat <bernat@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] Removed createInstPointAtAddr
On Apr 28, 2012, at 11:42 AM, Josh Stone wrote:

What, you mean that innocent little "jmpq *%rdx" at the end?

Yeah, it's kind of longjmpy. 

Yes you're right, with that uninstrumentable flag set true, findFunction
does find those two longjmp functions.  Then findPoint(BPatch_entry)
fails, which you probably expect.

As I asked before, would a 5-byte NOP for the SDT case help here?  Then
you could possibly insert a jump without moving the rest of the function
around, which is why indirect jumps are generally avoided, right?

In theory, yes, but... we'd have to rewrite the entire instrumentation system. We replace a block or function at a time. Is it really critical? 

Well createPointsAtAddr + insertSnippet appears to succeed -- what
indication of failure should I see?  (Besides just not running...)

A lack of actually putting code in. Or possibly I forgot to check the instrumentable flag, and we try to do it anyway... not sure, actually. 

Drew




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