about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2022-03-09CI: add `-fno-sanitize-recover=undefined` to UBSAN flagsLukáš Zaoral
By default, UBSAN does not fail when it reports an error. Thus, the UBSAN CI was green even though there were some errors reported.
2022-03-09tests: make UBSAN print stack tracesLukáš Zaoral
2022-03-09CI: drop `-fsanitize=integer` from UBSAN flagsLukáš Zaoral
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.
2022-03-09CI: Update GTest to 1.11.0Lukáš Zaoral
2022-03-09CI: Update Z3 to 4.8.14Lukáš Zaoral
2022-03-09build: fix missing target for grepFrank Busse
2022-03-09fix CMake: gtest from llvm includes gtest_mainJulian Büning
2022-01-07tests: add Feature/KleeStatsNoBr.cFrank Busse
2022-01-07tests: adapt Feature/KleeStatsColumns.test to klee-stats changesFrank Busse
2022-01-07tests: extend Feature/KleeStats.cFrank Busse
2022-01-07klee-stats: fix --print-moreFrank Busse
2022-01-07klee-stats: add --print-columnsFrank Busse
2022-01-07klee-stats: do not print summary line for csv/readable-csvFrank Busse
2022-01-07klee-stats: fix BCov calculation for zero br instructionsFrank Busse
2022-01-07klee-stats: rename/reorder/document columnsFrank Busse
* rename columns for consistency * reorder columns and group by "categories" * add missing documentation * fix existing documentation * show MaxMem as float
2022-01-07stats: remove reachableUncovered (unused)Frank Busse
2022-01-06Comment the code dealing with un/flushed bytes, and resolve old naming issue ↵Cristian Cadar
by renaming flushMask to unflushedMask
2022-01-06Remove old Travis CI supportMartin Nowack
We don't use it anymore. No need to burn additional cycles.
2022-01-06Dockerfile: use Google Test 1.11.0Julian Büning
2022-01-05introduce BranchTypesFrank Busse
2022-01-05unittests/TestMain: show stack trace on errorJulian Büning
2022-01-05fix CMake: use own TestMain instead of gtest_mainJulian Büning
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.
2022-01-05CMake: set Google Test options properlyJulian Büning
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.
2022-01-05fix CMake: GTEST_INSTALL -> INSTALL_GTESTJulian Büning
As far as I can tell, the variable intended to be set here was never called GTEST_INSTALL.
2022-01-05CMake: include GTest include hint for 1.8.0+Julian Büning
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.
2022-01-05Do not use stat64 directly in gen-random-boutCristian Cadar
2022-01-05Added a test for invocations of klee_make_symbolic with a wrong size to ↵Cristian Cadar
MakeSymbolicAPI.c, and reformatted the file.
2022-01-05Remove outdated reference to klee_make_symbolic_nameCristian Cadar
2022-01-04Use more precise version check for selecting swapoff() signature.Gleb Popov
2021-12-24Added correct signature for swapoff on FreeBSD (to solve recent CI failures)Cristian Cadar
2021-12-23Introduce termination categoriesFrank Busse
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.
2021-12-20test/Concrete/GlobalUndef.ll: Remove `target datalayout` and `target triple`Lukáš Zaoral
Fixes assertion violation triggered in LLVM 13 CI job due to incompatibility with default target triple and datalayout.
2021-12-20llvm13: Add LLVM 13 to Travis CI and GitHub ActionsLukas Zaoral
2021-12-20llvm13: Add LLVM 13 to lit.cfgLukas Zaoral
2021-12-20llvm13: llvm::APInt::toString has been moved to StringExtras.hLukas Zaoral
See: https://reviews.llvm.org/D103888
2021-12-20llvm13: CreateGEP no longer accepts nullptrLukas Zaoral
See: https://reviews.llvm.org/D105653
2021-12-20llvm13: CreateLoad API with implicit types has been deprecatedLukas Zaoral
See: https://github.com/llvm/llvm-project/commit/6312c53870897435b38881795460ad9f34bf9819
2021-12-20llvm13: llvm::cl::GeneralCategory is no longer a globalLukas Zaoral
Therefore, llvm::cl::getGeneralCategory() should be used instead. See: https://reviews.llvm.org/D105959
2021-12-20llvm13: llvm::fs::F_None has been removedLukas Zaoral
... 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
2021-12-20Support/FileHandling.cpp: rewrite to C++14Lukas Zaoral
2021-12-19cmake: copy klee-uclibc and klee-libcxx to expected locationsLukas Zaoral
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.
2021-11-20Fixed fail with preferCex, removed relation from first argumentTaras Bereznyak
2021-11-02ktest-tool: --extract: warn if object can't be foundFrank Busse
2021-11-02Core/Executor: use `nullptr` instead of `0`ᴀᴇꜱᴏᴘʜᴏʀ
Since KLEE requires C++14, we should prefer `nullptr` to plain `0`.
2021-11-02tests: adjust Feature/KleeStatsColumns.test for fixed column orderFrank Busse
2021-11-02klee-stats: order remaining columns alphabeticallyFrank Busse
2021-10-27tools/klee: Warn if module and host target triples differLukas Zaoral
... as running a bitcode with a different target triple may result in unexpected crashes or assertion violations.
2021-10-27Module/RaiseAsm: Support i686 target as wellLukas Zaoral
Add i686 to the list of supporterd targets by this transformation pass.
2021-10-27Module/RaiseAsm: Fix crash when host and bitcode target triples differLukas Zaoral
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!
2021-10-22Switch FreeBSD CI to 12.2 and 13.0, as 11.4 has gone EOL.Gleb Popov