Age | Commit message (Collapse) | Author |
|
Introduce three different kinds of process trees:
1. Noop: does nothing (e.g. no allocations for DFS)
2. InMemory: same behaviour as before (e.g. RandomPathSearcher)
3. Persistent: similar to InMemory but writes nodes to ptree.db
and tracks information such as branch type, termination
type or source location (asm) in nodes. Enabled with
-write-ptree
ptree.db files can be analysed/plotted with the new "klee-ptree"
tool.
|
|
|
|
|
|
is a bit more convenient and avoids an extra file
|
|
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.
|
|
available since CMake version 3.14
|
|
obsoleted by changes in 3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c
|
|
This variable was previously used by `klee_add_component()`, which got
removed as part of 3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c.
|
|
It appears that this variable was never used, already when it was first
set in 7e75b491d389c15d48a5cfc455ba9442d7c108ed.
|
|
|
|
With recent LLVM versions, this should allow to link against dynamic LLVM
libraries.
|
|
|
|
This is the default version for Ubuntu 20.04 and should be available
for most distributions.
Moreover this should allow to move STP forward with their changes.
(https://github.com/stp/stp/issues/375#issuecomment-889178863)
|
|
Ignore test in the first place, if no 32bit is enabled.
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
`make uninstall` is enabled.
Without this, uninstalling was done manually with `rm` command.
|
|
Fixes:
CMake Warning (dev) at CMakeLists.txt:478 (set):
implicitly converting 'String' to 'STRING' type.
This warning is for project developers. Use -Wno-dev to suppress it.
|
|
|
|
|
|
|
|
|
|
Automatically detect if 32bit bitcode files can be built.
In this case, build runtime library with 32bit as well.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Ubuntu 16.04 supports cmake 3.5.0 as default.
Cmake 2.8.12 was the default in 14.04.
Use cmake 3 to simplify cmake files.
|
|
|
|
Co-authored-by: Felix Rath <felix.rath@comsys.rwth-aachen.de>
|
|
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>
|
|
|
|
|
|
|
|
|
|
libutil.h header there.
|
|
|
|
|
|
* Use directory instead of libc++ files
* support `bca` and `ba` files
* Add additional checks if directories exist
|
|
|
|
|
|
provides a workaround for LLVM bug PR39177, which affects LLVM
versions 3.9 - 7.0.0: https://bugs.llvm.org/show_bug.cgi?id=39177
This commit is intended to be reverted once support for LLVM
versions <= 7 is dropped from KLEE.
|