[DynInst_API:] Code Coverage Tool

2014-06-18 Thread Buddhika Chamith Kahawitage Don
Hi All, I am trying to find/ implement a tool which can collect basic code coverage information (specifically number of times each function was executed and the average execution time). I was searching through the dyninst site and found the project codeCoverage listed in related projects which

Re: [DynInst_API:] Code Coverage Tool

2014-06-19 Thread Buddhika Chamith Kahawitage Don
://www.paradyn.org/html/tools/codecoverage.html, and I'm able to download the source/binary tarballs from there. Can you tell me what link is broken on your end? Thanks, - Ray On Wed, Jun 18, 2014 at 7:29 PM, Buddhika Chamith Kahawitage Don budka...@umail.iu.edu wrote: Hi All, I am trying to find

[DynInst_API:] Runtime Relocation Mechanism

2014-07-11 Thread Buddhika Chamith Kahawitage Don
Hi All, Feel free redirect me to the correct place if this query is not relevant to this particular list. I understand that DynInst uses a runtime code relocation mechanism for inserting instrumentation. I am interested in knowing specifics of how this is being handled specially with non position

Re: [DynInst_API:] Runtime Relocation Mechanism

2014-07-16 Thread Buddhika Chamith Kahawitage Don
Hi Bill, Thanks for the pointers. Will go through and come back if I have any issues in understanding. Regards Bud On Mon, Jul 14, 2014 at 12:08 PM, Bill Williams b...@cs.wisc.edu wrote: On 07/11/2014 08:24 PM, Buddhika Chamith Kahawitage Don wrote: Hi All, Feel free redirect me

Re: [DynInst_API:] DynInst Overhead

2014-07-21 Thread Buddhika Chamith Kahawitage Don
Please find my responses inline. On Mon, Jul 21, 2014 at 1:48 PM, Bill Williams b...@cs.wisc.edu wrote: On 07/21/2014 11:52 AM, Matthew LeGendre wrote: Presumably you're running the CodeCoverage tool in two steps: 1) Rewriting the binary 2) Running the rewritten binary. All of the

Re: [DynInst_API:] DynInst Overhead

2014-07-21 Thread Buddhika Chamith Kahawitage Don
Installing 15980 springboards! On Mon, Jul 21, 2014 at 3:41 PM, Buddhika Chamith Kahawitage Don budka...@umail.iu.edu wrote: Please find the output in attached file. Regards Bud On Mon, Jul 21, 2014 at 3:13 PM, Bill Williams b...@cs.wisc.edu wrote: On 07/21/2014 01:59 PM, Buddhika

Re: [DynInst_API:] DynInst Overhead

2014-07-21 Thread Buddhika Chamith Kahawitage Don
/2014 02:55 PM, Buddhika Chamith Kahawitage Don wrote: My earlier mail is being held for the moderator approval. Anyway let me just paste a small snippet from the output. Hope that should be enough. createRelocSpringboards for 400dd6 Looking for addr b7fb96 in function _init

Re: [DynInst_API:] DynInst Overhead

2014-07-24 Thread Buddhika Chamith Kahawitage Don
not sure where to look to debug this issue. Any pointers would be greatly appreciated. Regards Bud On Tue, Jul 22, 2014 at 8:23 PM, Buddhika Chamith Kahawitage Don budka...@umail.iu.edu wrote: Will try that out. Thanks Bud On Tue, Jul 22, 2014 at 2:06 PM, Matthew LeGendre legend

Re: [DynInst_API:] Indirect Control Flow Target Deduction in CFG

2017-12-03 Thread Buddhika Chamith Kahawitage Don
> Thanks, > > --Xiaozhu > > On Fri, Nov 10, 2017 at 7:56 AM, Buddhika Chamith Kahawitage Don < > budka...@umail.iu.edu> wrote: > >> Hi All, >> >> I am thinking of implementing a control flow integrity prototype for >> which I require doing some static

Re: [DynInst_API:] Control Flow Graph example with parseAPI

2017-12-04 Thread Buddhika Chamith Kahawitage Don
gt; From: Dyninst-api <dyninst-api-boun...@cs.wisc.edu> on behalf of Thomas > Dullien <thomasdull...@google.com> > Sent: Monday, December 4, 2017 4:24 AM > To: Buddhika Chamith Kahawitage Don > Cc: Xiaozhu Meng; dyninst-api > Subject: Re: [DynInst_API:] Control Flo

Re: [DynInst_API:] Control Flow Graph example with parseAPI

2017-12-05 Thread Buddhika Chamith Kahawitage Don
t; On Mon, Dec 4, 2017 at 8:02 PM, Buddhika Chamith Kahawitage Don < > budka...@umail.iu.edu> wrote: > >> Hi, >> >> Thanks for the pointers Thomas and Bill. Is there similar full source >> code example for the DataFlow API as well? I am specially interested

[DynInst_API:] Indirect Control Flow Target Deduction in CFG

2017-11-10 Thread Buddhika Chamith Kahawitage Don
Hi All, I am thinking of implementing a control flow integrity prototype for which I require doing some static analysis to approximate control flow targets of indirect control flow instructions. How does parseAPI handle indirect control flows when deriving the CFG? What facilities does the API

[DynInst_API:] Control Flow Graph example with parseAPI

2017-11-10 Thread Buddhika Chamith Kahawitage Don
Hi All, I was trying to run control flow graph example (3.2) in the parseAPI documentation. When I run on some ELF binary I am getting lot of non ascii (binary) outputs instead of the intended output. Anyone come across this before? Thanks Buddhika

Re: [DynInst_API:] Dyninst example on ARM*

2018-02-25 Thread Buddhika Chamith Kahawitage Don
dyninst/dyninst/tree/arm64/feature/relocation > When complete, instrumenting on ARM binaries won't look differently from > other architectures. > > Sasha > > > -- > *From:* Dyninst-api <dyninst-api-boun...@cs.wisc.edu> on behalf of > Bud

[DynInst_API:] Including arbitrary x86 instructions at snippets

2018-03-14 Thread Buddhika Chamith Kahawitage Don
Hi All, I am considering use Dyninst binary rewriting mode to implement a Control Flow Integrity prototype (as mostly described at [1]). For that I need to add validation checks around indirect control flow. I wanted to check if BPatch API is expressive enough to create snippets with arbitrary

Re: [DynInst_API:] Replacing an Instruction

2018-04-12 Thread Buddhika Chamith Kahawitage Don
Appreciate any pointers.. Cheers On Sun, Apr 8, 2018 at 3:38 PM, Buddhika Chamith Kahawitage Don < budka...@iu.edu> wrote: > Hi, > > How would I use the API if I wanted to replace an instruction with bunch > of other instructions using PatchAPI? I see Point instances for PreI

Re: [DynInst_API:] Logging the stack trace

2018-04-23 Thread Buddhika Chamith Kahawitage Don
Sorry for mixing up the emails. Earlier one was from my private email. On Mon, Apr 23, 2018 at 5:49 PM, Buddhika Chamith Kahawitage Don < budka...@iu.edu> wrote: > I want to collect all the stack traces. This is for a study of spec > applications. > > On Mon, Apr 23, 2018 a

Re: [DynInst_API:] Logging the stack trace

2018-04-23 Thread Buddhika Chamith Kahawitage Don
I want to collect all the stack traces. This is for a study of spec applications. On Mon, Apr 23, 2018 at 5:40 PM, Xiaozhu Meng wrote: > Do you want to collect all stack traces during its run or you have a few > points you are interested in where you want to collect stack

Re: [DynInst_API:] Logging the stack trace

2018-04-23 Thread Buddhika Chamith Kahawitage Don
ey Professor > Dept of Computer Science Rice University > email: joh...@rice.edu <joh...@rice.edu> phone: 713-348-5179 > > On Apr 23, 2018, at 4:55 PM, Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote: > > Sorry for mixing up the emails. Earlier one was from

Re: [DynInst_API:] Including arbitrary x86 instructions at snippets

2018-03-16 Thread Buddhika Chamith Kahawitage Don
ary code > generation engine, whereas BPatch is designed to work with > platform-independent snippets. > > --bw > > From: Dyninst-api <dyninst-api-boun...@cs.wisc.edu> on behalf of Buddhika > Chamith Kahawitage Don <budka...@umail

[DynInst_API:] Add a new function

2019-01-05 Thread Buddhika Chamith Kahawitage Don
Hi All, Is it possible to add new function to the binary using Dyninst APIs? Cheers Buddhika ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

[DynInst_API:] SymtabAPI segmentation fault

2019-01-05 Thread Buddhika Chamith Kahawitage Don
Hi, I am trying to use SymtabAPI to analyze the register usage of a binary. My implementation fails on some binaries (built with -g) with below stack trace. I have installed libdw-0.170 on my system using Ubuntu package manager. Does this look familiar? > #0

Re: [DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-23 Thread Buddhika Chamith Kahawitage Don
master/symtabAPI/h/Symtab.h#L366 > > Then, you can iterate over the vector to parse each of them. > > Thanks, > > --Xiaozhu > > On Wed, Jan 23, 2019 at 10:20 AM Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote: > >> Hi All, >> >>

[DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-23 Thread Buddhika Chamith Kahawitage Don
Hi All, I need to enumerate and parse linked shared libraries of a binary using Symtab API and Parse API. How can I do that? I am currently using below code sequence to parse the binary. Dyninst::SymtabAPI::Symtab* symtab; bool isParsable = Dyninst::SymtabAPI::Symtab::openFile(symtab,

Re: [DynInst_API:] Add a new function

2019-01-17 Thread Buddhika Chamith Kahawitage Don
Xiaozhu Meng > > On Wed, Jan 16, 2019 at 8:05 PM Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote: > >> While a shared library approach looks good I realized I cannot afford to >> do a function call to get to the jump table instrumentation in my use case &g

Re: [DynInst_API:] Add a new function

2019-01-08 Thread Buddhika Chamith Kahawitage Don
Greatly appreciate any feedback. Best On Tue, Jan 8, 2019 at 5:33 PM Buddhika Chamith Kahawitage Don < budka...@iu.edu> wrote: > Actually I have two use cases. > > 1. Create a jump table and insert it to the binary and make the each > function epilog instrumentation jump to

Re: [DynInst_API:] SymtabAPI segmentation fault

2019-01-08 Thread Buddhika Chamith Kahawitage Don
nary with me so that I can continue to fix the instruction decoding? > > Thanks, > > --Xiaozhu > > On Tue, Jan 8, 2019 at 9:32 AM Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote: > >> Also when I checked the f->region()->geArch() parameter passed

Re: [DynInst_API:] Add a new function

2019-01-09 Thread Buddhika Chamith Kahawitage Don
e against the > instrumentation library. > > You can refer to our code coverage code example to see how to program in > this way: > https://github.com/dyninst/dyninst/tree/master/examples/codeCoverage.dir > > On Tue, Jan 8, 2019 at 6:03 AM Buddhika Chamith Kahawitage

Re: [DynInst_API:] SymtabAPI segmentation fault

2019-01-08 Thread Buddhika Chamith Kahawitage Don
Also when I checked the f->region()->geArch() parameter passed to the decoder it showed me Dyninst::Arch_x86_64. On Tue, Jan 8, 2019 at 9:00 PM Buddhika Chamith Kahawitage Don < budka...@iu.edu> wrote: > I retired with Dyninst 10.0.0. Now I get the following > > RegAudit: &g

Re: [DynInst_API:] SymtabAPI segmentation fault

2019-01-08 Thread Buddhika Chamith Kahawitage Don
gt; instructions in a block. Block::Insns is just a map from the address to the > instruction. > > typedef std::map Insns; > > On Tue, Jan 8, 2019 at 10:08 AM Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote: > >> Looks like the instru

Re: [DynInst_API:] SymtabAPI segmentation fault

2019-01-08 Thread Buddhika Chamith Kahawitage Don
>> >> Can you upgrade to use Dyninst 10.0.0? Dyninst 10 contains many bug >> fixes and new features over 9.3.2, but you will need to use libdw-0.173. If >> the same problem shows up, please let me know and I will take a look at it. >> >> Thanks, >&

Re: [DynInst_API:] Add a new function

2019-01-08 Thread Buddhika Chamith Kahawitage Don
entation? Do you want to add a new interface into a shared library? > > Let me know the details so that we can find the best way to do it. > > Thanks, > > --Xiaozhu > > On Sun, Jan 6, 2019 at 12:50 AM Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote:

Re: [DynInst_API:] SymtabAPI segmentation fault

2019-01-08 Thread Buddhika Chamith Kahawitage Don
roblem shows up, please let me know and I will take a look at it. > > Thanks, > > --Xiaozhu > > On Sat, Jan 5, 2019 at 9:56 PM Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote: > >> Hi, >> >> I am trying to use SymtabAPI to analyze the register

Re: [DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-23 Thread Buddhika Chamith Kahawitage Don
It doesn't seem to provide the full path to the linked library, just the library name. So when I use the return value to construct a SymtabCodeSource it fails. Any idea how to get the full path of the linked library? On Wed, Jan 23, 2019 at 10:20 PM Buddhika Chamith Kahawitage Don < bu

Re: [DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-24 Thread Buddhika Chamith Kahawitage Don
University Erlangen-Nürnberg. :) >> >> On 1/24/19 4:18 AM, Buddhika Chamith Kahawitage Don wrote: >> > It doesn't seem to provide the full path to the linked library, just >> the >> > library name. So when I use the return value to construct a >> > SymtabCode

Re: [DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-24 Thread Buddhika Chamith Kahawitage Don
ing into the conversation as I'm also doing research on shared >>> libraries and (in a broader sense) instrumentation as part of my PhD at >>> the University Erlangen-Nürnberg. :) >>> >>> On 1/24/19 4:18 AM, Buddhika Chamith Kahawitage Don wrote: >>> > It do

Re: [DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-24 Thread Buddhika Chamith Kahawitage Don
By the way function PopulateUsedRegisters in the error I sent earlier accepts a Dyninst::ParseAPI::CodeObject* as the first parameter. On Thu, Jan 24, 2019 at 9:51 PM Buddhika Chamith Kahawitage Don < budka...@iu.edu> wrote: > Aah yes. That was a typo. My bad. However the code I t

Re: [DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-24 Thread Buddhika Chamith Kahawitage Don
Aah yes. That was a typo. My bad. However the code I tried have it correct which still fails :(. I think the failure happens at convert function call before the assignment. On Thu, Jan 24, 2019 at 9:47 PM Xiaozhu Meng wrote: > On Thu, Jan 24, 2019 at 10:05 AM Buddhika Chamith Kahawitage

Re: [DynInst_API:] Enumerating linked shared libraries with SymtabAPI/ ParseAPI

2019-01-24 Thread Buddhika Chamith Kahawitage Don
do: > > #include "BPatch_object.h" > > On Thu, Jan 24, 2019 at 10:23 AM Buddhika Chamith Kahawitage Don < > budka...@iu.edu> wrote: > >> By the way function PopulateUsedRegisters in the error I sent earlier >> accepts a Dyninst::ParseAPI::CodeObject* a