Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-03-04 | tests: add support for LLVM 11.1 | Frank Busse | |
2021-02-16 | renaming 'libcxx' -> 'libc++' | Julian Büning | |
2020-12-23 | tests: add getcwd EINVAL test | Frank Busse | |
2020-12-23 | klee-libc: simplify mempcpy | Frank Busse | |
2020-12-04 | Test reflecting the LLVM 11 behavior for transforming reads of the form ↵ | Cristian Cadar | |
f[k], with k symbolic and f a 4-element vector into something along the lines: if k == 0 => f[0] elif k == 1 => f[1] elif k == 2 => f[2] elif k == 3 => f[3] else ==> undef | |||
2020-12-04 | Test reflecting the LLVM 11 behavior for transforming writes of the form ↵ | Cristian Cadar | |
f[k] = v, with f a 4-element vector, into something along the lines: if k == 0 => f[0] = v if k == 1 => f[1] = v if k == 2 => f[2] = v if k == 3 => f[3] = v | |||
2020-12-04 | Move all overflows from the vector instructions tests into a new file, as ↵ | Cristian Cadar | |
the overflow behaviour is different in LLVM 11. | |||
2020-12-04 | Add LLVM 11 to lit.cfg | Cristian Cadar | |
2020-12-02 | Detect system include headers on macOS | Martin Nowack | |
System header files on macOS are not part of `/usr/include` since Catalina. Instead, multiple locations are possible and depend on the selected SDK. Use `xcrun` to automatically detect the correct path on macOS. | |||
2020-11-11 | tests: add test for klee-stats --table-format=csv/readable-csv | Frank Busse | |
2020-11-09 | Test checking that __strcpy_chk is handled correctly when uclibc is used | Cristian Cadar | |
2020-11-09 | Test checking that __strcat_chk is handled correctly with klee-libc | Cristian Cadar | |
2020-11-09 | Added test checking that a simple overflow is caught via -D_FORTIFY_SOURCE | Cristian Cadar | |
2020-11-09 | Test checking that __memchk_chk is handled correctly with the freestanding ↵ | Cristian Cadar | |
library. | |||
2020-11-04 | [cmake] Remove several leftovers from old autoconf build system | Martin Nowack | |
2020-11-03 | fix: bcmp with n==0 | Alastair Reid | |
This was executing the loop when n==0 leading to an out of bound pointer error. Found while verifying Rust code that compares strings. | |||
2020-10-30 | Add test for atexit order | Tomas Jasek | |
2020-10-30 | Mark the StaticDestructor test as failing on macOS | Cristian Cadar | |
2020-10-30 | Optimize StaticDestructor test to be less fragile to compiler optimizations. | Cristian Cadar | |
2020-10-12 | MergingSearcher: remove random-path incompatibility | Frank Busse | |
2020-10-12 | address MartinNowack's remaining feedback | Julian Büning | |
2020-10-12 | Exception handling only for LLVM >= 8.0.0 | Julian Büning | |
2020-10-12 | Implemented support for C++ Exceptions | Felix Rath | |
We implement the Itanium ABI unwinding base-API, and leave the C++-specific parts to libcxxabi. Co-authored-by: Lukas Wölfer <lukas.woelfer@rwth-aachen.de> | |||
2020-10-09 | implement fneg instruction | Julian Büning | |
2020-10-09 | fix: fabs() working on the wrong argument | David Laprell | |
2020-10-09 | Add testcase for weakly linked globals | Martin Nowack | |
2020-10-06 | Added support for klee_open_merge and klee_close_merge in replay, together ↵ | Cristian Cadar | |
with a test case. | |||
2020-09-30 | tests: add tests for empty .stats and additional/missing columns | Frank Busse | |
2020-09-30 | tests: support .test and introduce %klee-stats | Frank Busse | |
2020-09-17 | Add test for klee-zesti | Timotej Kapus | |
2020-09-02 | More robust handling of unknown intrinsics | Alastair Reid | |
- If an unknown intrinsic appears in the bitcode file, it is reported but execution can proceed. - If an unknown intrinsic is encountered during execution of some path, - the intrinsic is reported - this path is treated as an error - execution of other paths can proceed To be more precise, there is a list of "known unknown intrinsics". Intrinsics not on this list will prevent execution. | |||
2020-08-28 | Definition of __cxa_thread_atexit_impl for the KLEE libc. | Alastair Reid | |
This is a thread-local version of __cxa_atexit (but, in the absence of threads, it is sufficient to just call __cxa_atexit). The test is based on the existing test for atexit in test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c The motivation for adding this function is to support the Rust standard library that calls __cxa_thread_atexit_impl. This function is usually a weak symbol but, in KLEE, this behaves like a call to an unknown function and chaos ensues. Worse, it happens just as the program is cleanly shutting itself down, so programs that are cleanly exiting crash with the wrong message. | |||
2020-08-07 | New intrinsic: klee_is_replay | Alastair Reid | |
This instrinsic detects whether the program is being executed symbolically or concretely (i.e., using the libkleeRuntest library). The intended usage (illustrated in the test program) is to allow the test program to display the input values by invoking any libraries it wants to. This is especially valuable if you are constructing complex, structured values and for languages like Rust (or C++) that have rich libraries and print libraries. For example, you might pick a symbolic value N with the assumption "0 <= N < 10" and then pick N symbolic values and write them to an array. The resulting ktest file is a bit hard to understand compared with the output of the standard print function in Rust/C++. | |||
2020-06-29 | Implement fshr/fshl intrinsics | Alastair Reid | |
Changes: - IntrinsicCleaner accepts fshr/fshl as accepted intrinsics - Executor::executeCall converts fshr/fshl to urem/zext/concat/shift/extract - Klee/main suppresses warnings about externals that are LLVM reserved (i.e., begin with "llvm.") - New test exercises 32 and 7 bit versions including oversize shift values Test values are based on LLVM's test for fshl/fshr - Changes that depend on existence of fshr/fshl are guarded by #if LLVM_VERSION_CODE >= LLVM_VERSION(7, 0) or ; REQUIRES: geq-llvm-7.0 | |||
2020-06-25 | Enforce fork/branch limits in branch() and fix double termination | Frank Busse | |
* extend help messages for -max-memory and -max-memory-inhibit * introduces branchingPermitted() * enforces fork/branch limits in branch() (vector version) * changes main loop * calls updateStates() before checkMemoryUsage() * calls updateStates() again in case we early terminate states This should prevent double termination for now. Other solutions are imho more expensive as we would have to compare possibly large vectors of states (either states(arr) in checkMemoryUsage() or removedStates in terminateState()). | |||
2020-06-25 | fix Executor: initializeGlobalAliases | Julian Büning | |
2020-06-25 | add simple unknown bitcast alias test from the original issue | Julian Büning | |
2020-06-25 | add known bitcast test for comparison | Julian Büning | |
2020-06-25 | regression test for unknown bitcast alias | Julian Büning | |
2020-06-19 | Added test reported in https://github.com/klee/klee/issues/189 for byval ↵ | Cristian Cadar | |
variadic arguments | |||
2020-06-19 | Renamed Vararg.c to VarArg.c for consistency with the other var arg tests ↵ | Cristian Cadar | |
and reformatted comments. | |||
2020-06-19 | Added test checking for correct alignment of variadic arguments | Cristian Cadar | |
2020-06-19 | Added test checking that KLEE correctly handles variadic arguments with the ↵ | Cristian Cadar | |
byval attribute | |||
2020-06-06 | [Module] Add testcase for inline asm lifting | Martin Nowack | |
2020-05-01 | Add test case from #1257 to reproduce behaviour | Martin Nowack | |
2020-04-30 | Removed the Internal directory from include/klee | Cristian Cadar | |
2020-04-09 | [posix-runtime] Improve model to handle full-path symbolic files | Timotej Kapus | |
2020-04-09 | [posix-runtime] Add test for full path consistency for symbolic files | Timotej Kapus | |
2020-04-08 | test: add a new test for readStringAtAddress | Marek Chalupa | |
Read strings from different parts of objects. | |||
2020-03-22 | [posix-runtime] Simple GET/SET_LK model | Timotej Kapus | |