-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This adds support for LLVM versions up to 14 by: * Bumping the `llvm-pretty` submodule to bring in the changes from GaloisInc/llvm-pretty#109. * Bumping the `llvm-pretty-bc-parser` submodule to bring in the changes from GaloisInc/llvm-pretty-bc-parser#219. * Updating the test output in `crux-llvm` and `uc-crux-llvm`'s test suites accordingly.
- Loading branch information
1 parent
221e1c1
commit 43a6767
Showing
10 changed files
with
31 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[Crux] Found counterexample for verification goal | ||
[Crux] test-data/golden/T972-fail.c:8:3: error: in main | ||
[Crux] unsupported LLVM value: ValAsm True False "testl $0, $0; jne ${1:l};" "r,X,X,~{dirflag},~{fpsr},~{flags}" of type void(i32, i8*, i8*)* | ||
[Crux] Overall status: Invalid. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
[Crux] Found counterexample for verification goal | ||
[Crux] test-data/golden/T972-fail.c:8:3: error: in main | ||
[Crux] unsupported LLVM value: ValAsm True False "testl $0, $0; jne ${1:l};" "r,X,X,~{dirflag},~{fpsr},~{flags}" of type void(i32, i8*, i8*)* | ||
[Crux] unsupported LLVM value: ValAsm True False "testl $0, $0; jne ${1:l};" "r,i,i,~{dirflag},~{fpsr},~{flags}" of type void(i32, i8*, i8*)* | ||
[Crux] Overall status: Invalid. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
crux-llvm/test-data/golden/abd-test-file-32.pre-clang13.cvc5.good
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
[Crux] Found counterexample for verification goal | ||
[Crux] test-data/golden/abd-test-file-32.c:11:0: error: in main | ||
[Crux] crucible_assert | ||
[Crux] | ||
[Crux] One of the following 3 fact(s) would entail the goal | ||
[Crux] * (bvult x #b00000000000000000000000000000001) | ||
[Crux] * (bvult #b00000000000000000000000001100100 x) | ||
[Crux] * (= #b00000000000000000000000000000001 x) | ||
[Crux] Overall status: Invalid. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule llvm-pretty
updated
from b13493 to d099d5
Submodule llvm-pretty-bc-parser
updated
12 files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,12 @@ | ||
#include <string.h> | ||
char str[] = "str"; | ||
// We mark this function as noinline to ensure that LLVM 14+ does not | ||
// over-optimize the call site in read_global_neg_offset_strlen and produce a | ||
// getelementptr expression with an out-of-bounds index. This would cause | ||
// crucible-llvm to abort before it has a chance to report the undefined | ||
// behavior in subtracting 1 from a global pointer, which is the ultimate goal | ||
// of this test case. | ||
char *minus_1(char *ptr) __attribute__((noinline)) { return ptr - 1; } | ||
int read_global_neg_offset_strlen() { | ||
return strlen(str - 1); | ||
return strlen(minus_1(str)); | ||
} |