-
Notifications
You must be signed in to change notification settings - Fork 29
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
Wrong handling of global pointers in constant structs #49
Labels
Comments
The points-to graph that you attach is the one i would expect. |
because they both resolve to @g.ptr |
OK, I see it now. |
danblitzhou
added a commit
to danblitzhou/seahorn
that referenced
this issue
Oct 18, 2019
note: directly evaluating a global in a constant struct like this: %struct.s = type { i16*, i32 } ; struct with a ptr to i16 and a i32 int @g.ptr = internal unnamed_addr global i16 42, align 4 %v2.p = extractvalue %struct.s {i16* @g.ptr, i32 0}, 0 will not work due to a memory analysis issue in seadsa: seahorn/sea-dsa#49
agurfinkel
pushed a commit
to seahorn/seahorn
that referenced
this issue
Oct 18, 2019
note: directly evaluating a global in a constant struct like this: %struct.s = type { i16*, i32 } ; struct with a ptr to i16 and a i32 int @g.ptr = internal unnamed_addr global i16 42, align 4 %v2.p = extractvalue %struct.s {i16* @g.ptr, i32 0}, 0 will not work due to a memory analysis issue in seadsa: seahorn/sea-dsa#49
caballa
added a commit
that referenced
this issue
Nov 7, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Consider the following llvm program:
g.ptr
must aliasv2.p
, butsea-dsa
says it does not.Seems like the initialization of constant struct is ignored.
For convenience, the memory graph looks like this:
The text was updated successfully, but these errors were encountered: