Closed shaobo-he closed 4 years ago
@caballa @agurfinkel any updates on this issue?
Thanks, Shaobo
I think we never set ptrtoint
flag since we never had a use for it.
Is the intended semantics is that a node is marked with ptrtoint
flag if there is a pointer to that node that is ever an argument to ptrtoint
operation? Is that correct?
@caballa if this looks ok to you, I can commit a fix.
What you wrote is I believe correct. A sound analysis would assume that every node with ptrtoint
flag can alias any node with inttoptr
flag. Thanks @agurfinkel!
fixed by ea3eea3
We mark the nodes with the right flags, but do not unify them. If there is a need to soundly but precisely analyze code with inttoptr
and ptrtoint
conversions, an additional pass is required after sea-dsa to resolve left over ambiguity. Similar to how the call graph construction is done right now.
Thank you, @agurfinkel
Hello sea-dsa developers,
Consider the following example,
The attached graph is generated using the following commands,
main.mem.pdf
In this graph, the node
%4
points to is labeled asSMP
whereas the node%1
points to is not considered as a node having theptrtoint
type. Although I know that we should probably try to eliminate ptrtoint/inttoptr instructions first, I was wondering if the node%1
points to should haveptrtoint
type.