Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Adding callsites #97

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

[WIP] Adding callsites #97

wants to merge 9 commits into from

Conversation

vsoch
Copy link
Member

@vsoch vsoch commented Feb 15, 2022

@hainest I've added most of what Jim shared, but Smeagle-ized. This cannot be merged / added until:

  1. more discussion from the group around bugs/ implementation. E.g., the inline is a FunctionBase and not a Function and I wonder if the interface could be more consistent.
  2. We need to add return types for the new stuff
  3. And we need to make the implementation less redundant (I will need your advice on ways to do that).

So I'm tagging WIP for now before we discuss this, and we won't merge obviously until it's added to dyninst proper and I can revert back the original build (Dockerfile, etc.).

we will need to refactor this back to use dyninst master, I have changed a bunch to use
a development build/container.

Signed-off-by: vsoch <[email protected]>
@vsoch
Copy link
Member Author

vsoch commented Feb 17, 2022

@hainest refactor done to remove inline and try to reduce redundancy of function! I think we probably need to be passing the allocator from the top level function and use reference/pointer to save state but I wasn't sure how to do that (do we need to change the classify template thing?) I might need some pointers for how to do that because what I tried didn't work!

@hainest
Copy link
Collaborator

hainest commented Mar 1, 2022

cf. return values at callsite: DW_AT_callsite does not have return type information. Dyninst can produce return type info iff the called function points to an already-parsed function (this is a limitation of the current Dyninst DWARF parser). Can Smeagle check if there is a function declaration that matches the called function in the current CU? If so, we can match params based on that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants