Date: | Mon, 17 Nov 2014 15:13:14 +0200 |
---|---|
From: | Adrian M Negreanu <groleo@xxxxxxxxx> |
Subject: | Re: [DynInst_API:] Unable to instrument chromium |
On Sat, Nov 15, 2014 at 12:03 AM, Bill Williams <bill@xxxxxxxxxxx> wrote: Two for correctness, and three for speed. I've removed the "saveFPR(false)" line.  * Inserting a call to printf where the argument totals don't match the format string is going to cause issues (possibly including an unbalanced stack and arbitrarily broken control flow). cmake says it builds RelWithDebInfo, so I guess this one is ok.  * You're searching in the entire BPatch_image for GLES2GetError, which causes the executable and all of its dependent shared libraries to be searched for the function in question (and likely over-eagerly parsed). You can constrain this search by looking in the BPatch_module corresponding to the binary that you expect to find GLES2GetError in, which should significantly speed up the instrumentation process. I added code to iterate through the modules and skip the shared libraries. By reflex, I "printf"-ed what shared libs were skipped, only to find that the code wasn't reached. So I added some more printf's, only to find that the functions taking too much time is  handle = bpatch.processCreate(name, argv) Source code: https://raw.githubusercontent.com/groleo/dyninst-experiments/master/mutator.C  * While it's unlikely that the debug information that's present needs to be parsed to insert the instrumentation you want, it's possible that there's a bug causing that to happen. I've made a small mutatee to be able to get the massif output, since mutating chromium doesn't work, so this is the output generated on the test mutatee. massif.out: https://raw.githubusercontent.com/groleo/dyninst-experiments/master/massif.out.17000 stdoutput: https://raw.githubusercontent.com/groleo/dyninst-experiments/master/massif.log |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [DynInst_API:] Unable to instrument chromium, Bill Williams |
---|---|
Next by Date: | Re: [DynInst_API:] Unable to instrument chromium, Adrian M Negreanu |
Previous by Thread: | Re: [DynInst_API:] Unable to instrument chromium, Bill Williams |
Next by Thread: | Re: [DynInst_API:] Unable to instrument chromium, Adrian M Negreanu |
Indexes: | [Date] [Thread] |