Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-05-02 | Refine support for stdio capture | Nguyễn Gia Phong | |
2024-03-05 | Make symbolic stdout more flexible | Nguyễn Gia Phong | |
2024-02-16 | drop llvm 9 and 10 | Daniel Schemmel | |
2024-02-08 | Explicitly build KLEE's exception handling runtime with C++11 | Martin Nowack | |
Currently, we assume C++11 support being used to by the tested software. This needs to change if newer C++ standards should be supported. | |||
2024-02-08 | Fix `klee_eh_cxx.cpp` compiler error | Martin Nowack | |
2024-02-08 | Fix `klee-libc/memchr.c` compiler warning | Martin Nowack | |
2024-02-08 | Add support for newer `libc++`; Simplify path detection | Martin Nowack | |
`libc++` include headers are now split between platform dependent and platform independent code. Before, only include files for the platform independent code were considered. Add support to automatically find platform dependent includes as well. Simplify the detection of libraries and paths. Instead of pointing to the `v1` directory, pointing to the include directory for `-DKLEE_LIBCXX_INCLUDE_PATH` is enough. Update build script to support this as well. | |||
2023-06-11 | Rewrote has_permission in the POSIX runtime. We now only return with ↵ | Cristian Cadar | |
permission error a single time in symbolic execution mode. The rewrite also fixes a bug reported in #1230. Rewrote the FilePerm.c test accordingly. | |||
2023-06-05 | config.h: include FSTATAT_PATH_ACCEPTS_NULL | Julian Büning | |
This variable was introduced by d2f5906da4ae37a41ae257e5308d50e19689877b but not included in `config.h` before. As a result `#ifdef` would always fail. Moving the code is necessary to set the variable before `config.h` is created using `configure_file()` in CMakeLists.txt. | |||
2023-04-14 | Modify name of variables in generated cvc files. | ITWOI | |
2023-03-23 | fix unused variable warning | Daniel Schemmel | |
2023-03-23 | Remove model_version from the POSIX runtime, as we have never used it. | Cristian Cadar | |
2023-03-17 | Fix building of runtime library and klee-replay | Martin Nowack | |
Former build system provided additional flags for building bitcode while they were not required, e.g. under BSD or MacOS. | |||
2023-03-17 | [cmake] Use LLVM's CMake functionality only | Martin Nowack | |
LLVM became more complex, use LLVM's CMake functionality directly instead of replicating this behaviour in KLEE's build system. Use the correct build flags provided by LLVM itself. This is influenced by the way LLVM is built in the first place. Remove older CMake support (< 3.0). | |||
2023-03-16 | Fixed a bug in KLEE libc's implementation of strcmp: according to the C ↵ | Cristian Cadar | |
standard, characters should be compared as unsigned chars. | |||
2022-09-14 | Add notes about how to keep in sync runtime with LLVM project | Pavel | |
2022-09-14 | Add README to UBSan runtime | Pavel | |
2022-09-14 | Eliminate .undefined_behavior.err category and simplify tests | Pavel | |
2022-09-14 | Remove LLVM version < 9 | Pavel | |
2022-09-14 | Remove LLVM version < 6 | Pavel | |
2022-09-14 | Introduce separate categories for different kinds of undefined behavior | Pavel | |
2022-09-14 | Support UBSan-enabled binaries | Pavel Yatcheniy | |
2022-08-19 | Corrected wrong usage of klee_report_error in __cxa_atexit handler | Pavel | |
2022-07-07 | POSIX runtime: fstatat: check for nonnull path APIs | Frank Busse | |
2022-06-27 | Define stat64 to be stat on MacOS. This fixes compilation on more recent ↵ | Cristian Cadar | |
macOS versions, where stat64 is not defined anymore. | |||
2022-03-17 | remove LLVM < 6 from build/test scripts | Frank Busse | |
2022-01-04 | Use more precise version check for selecting swapoff() signature. | Gleb Popov | |
2021-12-24 | Added correct signature for swapoff on FreeBSD (to solve recent CI failures) | Cristian Cadar | |
2021-04-30 | posix runtime: add malloc checks | Frank Busse | |
2021-02-22 | runtime/POSIX: fix failures with glibc-2.33 | Jiri Slaby | |
commit 8ed005daf0ab of glibc-2.33 (Remove stat wrapper functions, move them to exported symbols) removed renames of `__fxstat`, `__xstat`, and `__lxstat` to `__fxstat64`, `__xstat64`, and `__lxstat64`, respectively. But we relied on the renames to build `fd_64.c` properly. With glibc 2.33, we now see link failures of the POSIX runtime: error: Linking globals named '__xstat': symbol multiply defined! Rename the functions using `__REDIRECT_NTH` in the code as `__USE_FILE_OFFSET64` case (which we define at the top of the file by `#define _FILE_OFFSET_BITS 64`) did exactly that. Fixes #1384. | |||
2020-12-23 | posix runtime: getcwd: check malloc and set errno | Frank Busse | |
* failing malloc was not handled before, now returns null/ENOMEM * when path is non-null and size is zero return null/EINVAL | |||
2020-12-23 | klee-libc: simplify mempcpy | Frank Busse | |
2020-12-23 | posix runtime: remove dead branch | Frank Busse | |
2020-12-18 | fix cflags for runtime build types | Julian Büning | |
- `-DNDebug` -> `-DNDEBUG` - different flags for `Release{+Debug,}+Asserts` - `-g` is no longer part of common flags - `-D_DEBUG` is now only set for debug builds - removed unused `LIB_BC_FLAGS_{32,64}` - added example, architecture prefix for specific flags | |||
2020-12-04 | Only build 32bit runtime libraries if supported by platform | Martin Nowack | |
Automatically detect if 32bit bitcode files can be built. In this case, build runtime library with 32bit as well. | |||
2020-12-04 | Declare mempcpy on macOS, to silence compiler warnings | Cristian Cadar | |
2020-11-09 | Added fortified library (for -D_FORTIFY_SOURCE), to be linked when uclibc is ↵ | Cristian Cadar | |
used. | |||
2020-11-09 | Added fortified versions for the functions in the klee-libc library | Cristian Cadar | |
2020-11-09 | Since the runtime now contains fortified libc functions, it is important to ↵ | Cristian Cadar | |
compile it with -D_FORTIFY_SOURCE=0 to avoid infinite recursion. | |||
2020-11-09 | Added fortified versions for the functions in the freestanding library. | Cristian Cadar | |
2020-11-04 | Rename FreeStanding to Freestanding where appropriate | Martin Nowack | |
2020-11-04 | [cmake] Add support to generate arbitrary runtime library configurations | Martin Nowack | |
Every runtime library can be build with multiple configurations. Replace the Makefile-based setup by cmake one. Currently, we generate 32bit and 64bit libraries simultaneously and can link against them. | |||
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 | Call functions in __cxa_atexit in reverse order | Tomas Jasek | |
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 | fix cxa_exception include for older LLVM versions | Julian Büning | |
2020-10-12 | fix building klee-cxxabi | Julian Büning | |
Co-authored-by: Felix Rath <felix.rath@comsys.rwth-aachen.de> | |||
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-06 | Ran clang-format on intrinsics.c and removed unneeded comment | Cristian Cadar | |