Age | Commit message (Collapse) | Author |
|
Fixed a compiler warning (unused variable)
|
|
|
|
Added checks for div/mod by zero and overshifts in constant expressio…
|
|
|
|
Such div/mod by zero expressions would previously crash KLEE. Added two test cases, one for div/mod by zero, the other for overshift. This fixes the bug reported in #268.
|
|
|
|
KLEE was always incremented, even if a symbolic solution was not found.
|
|
On FreeBSD <sys/capabilities.h> is present in libc, so we don't require libcap there.
Close and write functions are located in <unistd.h>.
|
|
evalConstantExpr which allows us to print the location associated with the constant in any error messages. Added a test case for the unsupported features for taking the address of a label, which exercises the patch.
|
|
location as a string. Also added const qualifier to the printFileLine functions
|
|
[CMake] Change some defaults
|
|
[TravisCI] Some fixes for STP scripts
|
|
|
|
|
|
requested get used.
|
|
dynamically based on whether MetaSMT is available. Previously the
default was always off.
|
|
zlib. The default is `ON` if zlib is found on first configure
and `OFF` if zlib is not found on first configure.
|
|
`ENABLE_SOLVER_Z3` to be set dynamically based on whether Z3 is
available. Previously the default was always off.
|
|
`ENABLE_SOLVER_STP` to be set dynamically based on whether STP is
available. Previously the default was always off.
|
|
Now that LLVM 2.9 is gone, we can use cl::bits when needed
|
|
|
|
This reverts incorrect patch https://github.com/klee/klee/commit/db29…
|
|
https://github.com/klee/klee/commit/db29a0bba74b672cdf4b8fef4d94ffa6ab845e6d
__fprintf_chk has a different prototype than fprintf
|
|
|
|
[CMake] Handle building against LLVM built without assertions
|
|
|
|
This could lead to lots of problems. If we discover that these
configurations don't work at all we should make this an error.
|
|
Refactored some code related to constant evaluation
|
|
when LLVM was built without assertions. This prevented
`ENABLE_KLEE_ASSERTS` from working correctly.
Reported by @MartinNowack .
|
|
Re-enable parts of `FloatingPointOps.ll`
|
|
evalConstantExpr also resides), as suggested by an old comment.
|
|
|
|
doesn't seem relevant anymore given that LLVM 3.4 is the minimum version
KLEE supports. Also do minor clean up. This was spotted by @andreamattavelli.
|
|
|
|
This is useful on systems like NixOS, where python3 is not in
/usr/bin/python3 as well as for people using alternative ways to
install python such as virtualenv/pyenv.
Some scripts where already using '/usr/bin/env'. With this pull request
it gets more consistent. For background information see also:
https://github.com/systemd/systemd/pull/5816
|
|
follow up of c9c90a0ecdce10172fd5318aea60a9ff4057679f
|
|
A few runtime build system fixes
|
|
Remove support for LLVM < 3.4
|
|
provide a better error message (and stop earlier) when no C source
files are found.
|
|
archive/modules when the list of source files that constitute it
changes.
To fix this a file is written in the build directory that contains
the list of `.bc` files. This file is updated whenever the list of
`.bc` files for a module changes and then the rule that builds the
module/archive depends on that file.
This fixes a bug reported by @ccadar in #718.
|
|
|
|
|
|
|
|
|
|
Request LLVM 3.4 as minimal requirement for KLEE
|
|
|
|
|
|
Implement basic support for vectorized instructions.
|
|
pass that checks these assertions. This improves several things.
* This pass provides more friendly messages than assertions in that it
just emits a warning and carries on checking the rest of the
instructions.
* The takes the checks outside of the Executor's hot path and so avoids
checking the same instruction multiple times. Now each instruction
is only checked once just before execution starts.
The disadvantage of this approach is the check for invariants we expect
to hold have been pulled far away from where we expect them to hold.
After discussion with @ccadar and @MartinNowack it was decided we will
take this hit to readability for better performance and simpler code in
the Executor.
|
|
Core: TimingSolver, use WallTimer
|