I see. I was checking if there is a convenient catch all header which we
can use per each API rather than including multitude of includes according
to usage. Looks like there is not?
Thanks for the catch.
On Thu, Jan 24, 2019 at 10:53 PM Xiaozhu Meng wrote:
> It looks like you will need to
It looks like you will need to 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* as the first parameter.
>
>
On Thu, Jan 24, 2019 at 10:05 AM Buddhika Chamith Kahawitage Don <
budka...@iu.edu> wrote:
> Hi Xiaozhu,
>
> I did the following. I think I am missing something below. Can you please
> check and let me know..
>
> BPatch* bpatch = new BPatch;
>
> // open binary and dependencies
>
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 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 tried have it
Hi Xiaozhu,
I did the following. I think I am missing something below. Can you please
check and let me know..
BPatch* bpatch = new BPatch;
// open binary and dependencies
BPatch_addressSpace* app = bpatch->openBinary(binary.c_str(), true);
BPatch_image* image = app->getImage();
Hi Andreas,
Thanks for the input. You are exactly right! :). I was looking for an
output similar to what ldd provides. My use case is to get register usage
patterns in a given binary and its linked shared libraries.
On Thu, Jan 24, 2019 at 7:24 PM Xiaozhu Meng wrote:
> Another approach is to
Another approach is to use BPatch_binaryEdit to open the binary, which has
an option parameter to specify whether also opening its dependencies. Then
you can convert BPatch_object to ParseAPI::CodeObject by doing:
ParseAPI::CodeObject *ParseAPI::convert(BPatch_object *);
On Thu, Jan 24, 2019 at
Hi,
jumping 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 doesn't seem to provide the full path to the
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 <
Great! I will check this out.
Cheers
Buddhika
On Wed, Jan 23, 2019 at 10:01 PM Xiaozhu Meng wrote:
> Hi,
>
> If I am going to do it, I will try Symtab::getDependencies(), which should
> return a vector of paths of the dependencies:
>
>
Hi,
If I am going to do it, I will try Symtab::getDependencies(), which should
return a vector of paths of the dependencies:
https://github.com/dyninst/dyninst/blob/master/symtabAPI/h/Symtab.h#L366
Then, you can iterate over the vector to parse each of them.
Thanks,
--Xiaozhu
On Wed, Jan 23,
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,
13 matches
Mail list logo