Age | Commit message (Collapse) | Author |
|
By default, UBSAN does not fail when it reports an error. Thus, the UBSAN CI
was green even though there were some errors reported.
|
|
|
|
When combined with `-fsanitize=undefined`, this flag only enables extra checks
for unsigned integer overflow and (possibly bug-prone) implicit conversions
between integer types. It was generating way too much noise (both for KLEE
and its dependencies) and the reported problems do not lead to an undefined
behaviour according to the C++ standard.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* rename columns for consistency
* reorder columns and group by "categories"
* add missing documentation
* fix existing documentation
* show MaxMem as float
|
|
|
|
by renaming flushMask to unflushedMask
|
|
We don't use it anymore. No need to burn additional cycles.
|
|
|
|
|
|
|
|
Before, we would use gtest_main as provided by either LLVM or Google
Test itself; the TestMain.cpp was ignored (contrary to its source code
comment). In newer versions of Google Test (1.8.1+), gtest_main uses
`__FILE__` for its "Running main() from" line, but llvm-lit (which we
use to invoke unit tests) currently matches exactly "Running main()
from gtest_main.cc" for determining whether to skip this line. This
results in spurious "tests" that will be shown as unresolved.
|
|
If the used CMake version is recent enough to support the necessary
policy CMP0077, set INSTALL_GTEST using normal variables instead of
cache variables. We never want to allow Google Test to add to the
install target, so we should not allow a user to interfere with this.
In addition, we set BUILD_GMOCK=OFF (and the necessary BUILD_GTEST=ON
for Google Test 1.8.0), as our current tests do not require Google Mock.
|
|
As far as I can tell, the variable intended to be set here was never
called GTEST_INSTALL.
|
|
Later versions of googletest also ship googlemock alongside googletest.
Thus, the include directory we are looking for is located in a
subdirectory. The source directory, however, does not change as
googletest/CMakeLists.txt references variables set in CMakeLists.txt of
the root directory and is not intended to be included directly.
|
|
|
|
MakeSymbolicAPI.c, and reformatted the file.
|
|
|
|
|
|
|
|
Track all path terminations: esp. for debugging or visualising a persistent process tree (with or without full MoKlee integration) it is helpful to know the exact reason (StateTerminationType) why a path terminated.
|
|
Fixes assertion violation triggered in LLVM 13 CI job due to incompatibility
with default target triple and datalayout.
|
|
|
|
|
|
See: https://reviews.llvm.org/D103888
|
|
See: https://reviews.llvm.org/D105653
|
|
See: https://github.com/llvm/llvm-project/commit/6312c53870897435b38881795460ad9f34bf9819
|
|
Therefore, llvm::cl::getGeneralCategory() should be used instead.
See: https://reviews.llvm.org/D105959
|
|
... and should be replaced with llvm::fs::OF_None since LLVM 7.
See: https://reviews.llvm.org/D101506
https://github.com/llvm/llvm-project/commit/1f67a3cba9b09636c56e2109d8a35ae96dc15782
|
|
|
|
Before this change, we created a symlink to the given libraries in their
expected location and then installed the original library. This was
problematic as the install directives are performed the order they are
encountered during the configure step and the installation of directory
containing the symlink was processed after the installation of the original
library. Therefore, the original libraries were installed but were
subsequently overwritten by the symlinks that can become broken rather easily.
This commit changes the behaviour so that we create copy the libraries to the
expected location and install them together with the rest of the KLEE runtime
as was originally intended.
|
|
|
|
|
|
Since KLEE requires C++14, we should prefer `nullptr` to plain `0`.
|
|
|
|
|
|
... as running a bitcode with a different target triple may result in
unexpected crashes or assertion violations.
|
|
Add i686 to the list of supporterd targets by this transformation pass.
|
|
RaiseAsm always created a target machine for the host target and not for
the bitcode one. Therefore, KLEE could crash on i686 bitcode as x86_64
target machine cannot be used to raise i686 assembly.
Fixes:
LLVM ERROR: 64-bit code requested on a subtarget that doesn't support it!
|
|
|