Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-07-04 | Reorganise runtime libraries provided by KLEE | Martin Nowack | |
Strictly differentiate between the following type of libraries: * FreeStanding: contains minimal amount of methods a compiler would expect * klee-libc: contains a minimal libc implementation * POSIX: contains a POSIX layer that can be used on top of a libc implementation * Intrinsic: contains additional runtime functions which provide KLEE-specific functionalities, (e.g. checks) Builds always archives instead of single modules. This allows to reduce linked-in dependencies of tested applications. | |||
2018-07-02 | Removed obsolete script | Cristian Cadar | |
2018-07-02 | test/lit.cfg: remove obsolete hack from (LLVM < 3.0 is no longer supported) | Julian Büning | |
2018-07-02 | CMake: use cmake_{push,pop}_check_state | Julian Büning | |
2018-07-02 | CMake: check for ctype and mallinfo functions with CXX instead of C compiler | Julian Büning | |
2018-06-29 | fix out of range access in KleeHandler::getKTestFilesInDir | Frank Busse | |
2018-06-29 | Explicitly initialize value to squelch a potentially uninitialized value warning | Daniel Schemmel | |
2018-06-29 | Fix the final -Wimplicit-fallthrough warning | Daniel Schemmel | |
2018-06-29 | Make ConstantExpr hashing function faster and modify affected test | Timotej Kapus | |
2018-06-14 | Add unittest for DiscretePDF | Martin Nowack | |
2018-06-13 | klee_int: allow NULL as name | Frank Busse | |
2018-06-11 | cmake: find_llvm, handle libLLVM-version.so properly | Jiri Slaby | |
Some builds of llvm contain a lib like this: /usr/lib64/libLLVM-3.9.so Extend the regular expression, so that we really return what we are supposed to. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-06-11 | Fixed memory leak from Executor::inCloseMerge, fixes #883 | Lukas Wölfer | |
2018-05-24 | isLSB should be a boolean, as it is only used in truth contexts | Daniel Schemmel | |
2018-05-24 | remove switch fallthrough in floating point comparision | Daniel Schemmel | |
2018-05-24 | llvm37: enable travis testing | Jiri Slaby | |
Suggested by @MartinNowack in #681. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-05-24 | llvm37: handle getRegisteredOptions | Jiri Slaby | |
In LLVM 3.7 and later, getRegisteredOptions takes no arguments and returns the map directly. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-05-24 | test: add versions of some tests for LLVM 3.7 | Richard Trembecký | |
Clone some tests to have their 3.7 version. 'call's, 'load's and 'getelementptr's match the new specification in them. @andreamattavelli: Fixed test cases: BitCastAlias test cases included modification to alias specifications that require LLVM 3.8 [v2] added comments what was changed and why [v3] the new tests are without suffix, the old ones have ".leq36". Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-05-24 | llvm: make KLEE compile against LLVM 3.7 | Richard Trembecký | |
Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-05-24 | llvm37: handle GetElementPtrInst::Create's new parameter | Jiri Slaby | |
LLVM 3.7 added a PointeeType parameter to GetElementPtrInst::Create. Let's handle that by a macro called KLEE_LLVM_GEP_TYPE, defined in Version.h. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-05-23 | test: add parenthesis around & operands | Jiri Slaby | |
Some compilers are picky, so avoid the warning by additional parentheses: test/VectorInstructions/integer_ops_unsigned_symbolic.c:85:22: warning: & has lower precedence than <; < will be evaluated first [-Wparentheses] Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-05-22 | clang-format on lib/Module/{IntrinsicCleaner.cpp,Passes.h} | Julian Büning | |
2018-05-22 | some housekeeping in Passes.h and IntrinsicCleaner.cpp | Julian Büning | |
This commit addresses the following: * remove unused variables block_split (::runOnBasicBlock) and LI (::IntrinsicCleanerPass) in IntrinsicCleanerPass * add `dirty = true` to `Intrinsic::vacopy` case * use `eraseFromParent()` methods instead of `removeFromParent()` and `delete` * add `override` keyword to `runOn{Module,Function}` methods | |||
2018-05-22 | CompressionStream: fix sporadic segfaults (uninitialised avail_in) | Frank Busse | |
2018-05-22 | Removed .c_str() from getSourceLocation calls | Cristian Cadar | |
2018-05-22 | Renamed printFileLine to getSourceLocation (as suggested by @delcypher) to ↵ | Cristian Cadar | |
reflect the fact that it simply returns a string | |||
2018-05-22 | Simplified printFileLine by using std::to_string, and removed unneeded ↵ | Cristian Cadar | |
version that takes an argument a stream | |||
2018-05-21 | stop using DEBUG macro name | Jiri Slaby | |
This is too generic and llvm 6.0 defines DEBUG as follows: #define DEBUG(X) DEBUG_WITH_TYPE(DEBUG_TYPE, X) This then results in various build failures where once the macro is defined, once it is not. So rename this generic macro to KLEE_ARRAY_DEBUG. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> | |||
2018-05-21 | fix some casts for LLP64 compilers | Frank Busse | |
2018-05-18 | tests: use names in klee_make_symbolic | Frank Busse | |
2018-05-18 | Delete coverageServer.py | Timotej Kapus | |
Delete the old coverage gathering code. Unneccessary with move to codecov. | |||
2018-05-17 | Abort execution if --only-output-states-covering-new is enabled but its ↵ | Cristian Cadar | |
dependency --output-istats is not | |||
2018-05-17 | Add support for concretizing symbolic objects passed to external functions | Timotej Kapus | |
2018-05-17 | Improve error messages for ReadStringAtAddress | Timotej Kapus | |
2018-05-15 | Improved code quality | Lukas Wölfer | |
2018-05-15 | Implemented incomplete merging | Lukas Wölfer | |
2018-05-15 | remove QueryLog.h | Frank Busse | |
2018-05-12 | Update clang-format standard for KLEE codebase to C++11 | Martin Nowack | |
2018-05-09 | Fix test case to check for correct call string | Martin Nowack | |
2018-05-09 | Improve handling of constant array in Z3 | Timotej Kapus | |
2018-05-09 | Remove the option for truncating lines in assembly.ll | Martin Nowack | |
The behaviour couldn't be triggered for a kcachegrind from 2012. | |||
2018-05-09 | Remove workaround for bug in older LLVM version (< 3) | Martin Nowack | |
2018-05-09 | Fix include files | Martin Nowack | |
2018-05-08 | remove unused file: tools/klee/Debug.cpp | Daniel Schemmel | |
2018-05-07 | Fixed test case to exercise modification to utimes() | Cristian Cadar | |
2018-05-07 | Fixed utimes() behavior for symbolic files when the second argument is NULL | yxliang01 | |
2018-05-06 | Moved regression test to proper location. Fixes #705 | Cristian Cadar | |
2018-05-05 | Fix handling of errno if external functions are invoked | Martin Nowack | |
If an external function in KLEE is invoked, it might update errno. Previously, the errno specific variable in a state was only updated if it was part of the executed instructions. That opened up a timeframe that increased the likelihood of errno being overwritten by another method call. This patch fixes two issues: * the errno of the KLEE process state is updated before the external function call allowing to detect changes to it later on * after the external call, the memory object of errno is directly updated with its new value, reducing the likelihood to be overwritten by another call Additional features: * Add support for `errno()` for Darwin as well. * Simplified errno handling in POSIX layer | |||
2018-05-05 | Factor out method to update state memory with process state | Martin Nowack | |
2018-05-01 | Ensured program reliably has 3 paths to be explored, and removed unnecessary ↵ | Cristian Cadar | |
options. Make klee_abort() call abort() in replay, and removed trivial test which cannot be easily integrated into the test suite. |