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

Non-scalar arguments accepted by crucible_llvm_extract #521

Closed
atomb opened this issue Aug 1, 2019 · 1 comment
Closed

Non-scalar arguments accepted by crucible_llvm_extract #521

atomb opened this issue Aug 1, 2019 · 1 comment
Labels
easy Issues that are expected to be easy to resolve and might therefore be good for new contributors subsystem: crucible-llvm Issues related to LLVM bitcode verification with crucible-llvm type: bug Issues reporting bugs or unexpected/unwanted behavior
Milestone

Comments

@atomb
Copy link
Contributor

atomb commented Aug 1, 2019

Now that pointers and integers are unified in crucible-llvm, running crucible_llvm_extract on functions taking pointer parameters results in obscure memory load failures rather than a simple message that such functions aren't supported. We should make it check more carefully.

@atomb atomb added type: bug Issues reporting bugs or unexpected/unwanted behavior easy Issues that are expected to be easy to resolve and might therefore be good for new contributors subsystem: crucible-llvm Issues related to LLVM bitcode verification with crucible-llvm labels Aug 1, 2019
@atomb atomb added this to the 0.4 milestone Oct 3, 2019
atomb pushed a commit that referenced this issue Oct 16, 2019
Because `crucible-llvm` merges integer and pointer types, it is not
sufficient to look at Crucible types to determine whether a CFG coming
from LLVM takes pointer arguments or returns a pointer. Instead, we have
to look at the original LLVM types. This commit does that, and produces
an error if `crucible_llvm_extract` is used with a function that has
poiinter types anywhere in its signature.

Fixes #521.
atomb pushed a commit that referenced this issue Oct 17, 2019
@atomb atomb closed this as completed in 6adf6f1 Oct 17, 2019
Ptival pushed a commit that referenced this issue Oct 31, 2019
Because `crucible-llvm` merges integer and pointer types, it is not
sufficient to look at Crucible types to determine whether a CFG coming
from LLVM takes pointer arguments or returns a pointer. Instead, we have
to look at the original LLVM types. This commit does that, and produces
an error if `crucible_llvm_extract` is used with a function that has
poiinter types anywhere in its signature.

Fixes #521.
@kryptolka
Copy link

But what can I use instead of "crucible_llvm_extract" to get the same result for function taking pointer parameters? I' struggling to generate AIG file from C void function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
easy Issues that are expected to be easy to resolve and might therefore be good for new contributors subsystem: crucible-llvm Issues related to LLVM bitcode verification with crucible-llvm type: bug Issues reporting bugs or unexpected/unwanted behavior
Projects
None yet
Development

No branches or pull requests

2 participants