about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2016-12-19[CMake] Fix linker warning about mixed linking modes when LLVM wasDan Liew
built with `-fvisibility-inlines-hidden`. This was observed when using a bottled version of LLVM 3.4 on macOS that appears to have been built with this option.
2016-12-18Merge pull request #549 from delcypher/fix_travisci_errexitCristian Cadar
Fixes and clean ups in the TravisCI scripts
2016-12-18CMake: Fixed the LLVM version regexAdrian Herrera
When trying to KLEE with a version of LLVM (specifically, 3.5) built from Github (https://github.com/llvm-mirror/llvm/tree/release_35) the regex in find_llvm.cmake failed to match the LLVM version string because it was suffixed with "svn" - i.e. "3.5.2svn". Added the optional "svn" suffix to the CMake regex to fix this.
2016-12-18[TravisCI] When building with the old build system move backDan Liew
to the root of the build tree after doing the hack the generate the lit configuration files. This will make it easier in the future to run more test configurations (e.g. by passing options to lit to change KLEE's behaviour).
2016-12-18[TravisCI] Remove `set +e` commands so that when running tests we failDan Liew
fast rather than continuing to run the tests (due to `set -e` at the beginning of the script). Although this gives less information in the event of a broken build it means our builds might finish faster if they are broken and it also simplifies the script significantly.
2016-12-17[TravisCI] Fix bug where TravisCI build scripts would carry on executingDan Liew
even though configure/build failed. This due to using the `&&` operator which means failure of commands to execute in this compound statement will not trigger the script to exit as requested by `set -e`.
2016-12-15Merge pull request #542 from adrianherrera/typo-fixAndrea Mattavelli
Typo fix when compiling with LLVM 3.5 and above
2016-12-15Typo fix when compiling with LLVM 3.5 and aboveAdrian Herrera
Replaced an incorrect comma with a semicolon in the Executor constructor.
2016-12-10Merge pull request #537 from delcypher/cmake_fix_tcmalloc_rebuildCristian Cadar
[CMake] Fix bug with enabling and then disabling TCMalloc support
2016-12-09[CMake] Fix bug where if KLEE was built with `ENABLE_TCMALLOC`Dan Liew
and then re-configured with `ENABLE_TCMALLOC` set to OFF then `klee/Config/config.h` was not correctly re-generated.
2016-12-09Merge pull request #535 from delcypher/cmake_fix_bitcode_rebuild_on_flag_changeCristian Cadar
[CMake] Fix bugs in the Makefile bitcode build system
2016-12-04Merge pull request #529 from delcypher/travis_ci_config_clean_upCristian Cadar
TravisCI config clean up
2016-12-03[CMake] Fix bug in the Makefile bitcode build system where the runtimeDan Liew
would not recompile if the `Makefile.cmake.bitcode.rules` file changed.
2016-12-03[CMake] Fix bug in the Makefile bitcode build system where the runtimeDan Liew
would not recompile if the LLVM C compiler flags changed. This could happen if the user did something like ``` make -f Makefile.cmake.bitcode LLVMCC.ExtraFlags=-Wall ```
2016-12-02[TravisCI] Clean up the configuration matrix.Dan Liew
The main change here try to * Avoid testing so many metaSMT configurtions * Avoid testing so many build with STP's master branch * Avoid testing so many builds that tests klee-uclibc's `klee_0_9_29` branch. * Avoid testing so many LLVM 2.9 builds given that it will be deprecated soon. * Remove coverage build. The server for receving this data is dead. This reduces 24 configurations to test down to just 14.
2016-12-02[TravisCI] Fix the list of available configuration environmentDan Liew
variables.
2016-12-02Fixed the issue of klee-stats not being copied to bin/Cristian Cadar
2016-12-02CMake: support LLVMCC.ExtraFlagsJiri Slaby
With the old buildsystem we could pass CFLAGS when building runtime libs. Support passing some additional flags to cmake-based system too. We need this to build 32 and 64bit runtime libs separately (but not whole klee). Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2016-12-01Merge pull request #523 from delcypher/remove_klee_tag_outputCristian Cadar
Remove support for reporting the approximate git tag.
2016-12-01Added among the external calls that we modelAndrea Mattavelli
2016-11-30Merge pull request #522 from ccadar/masterCristian Cadar
Moving to KLEE 1.3.0
2016-11-30Remove support for reporting the approximate git tag.Dan Liew
This was confusing because it would emit something like `v1.0.0-290-g08d4716` because the 1.1.0 and 1.2.0 releases didn't have a tag on the master branch so `git describe --tags` would just find the `v1.0.0` tag and report based on that tag.
2016-11-30Release notes for 1.3.0Cristian Cadar
2016-11-30Increasing version to 1.3.0Cristian Cadar
2016-11-30Merge pull request #520 from ccadar/masterCristian Cadar
Fixing current version of STP in Dockerfile (see #505) to 2.1.2
2016-11-30Switched to STP 2.1.2 on Travis CI buildsCristian Cadar
2016-11-30Fixing current version of STP in Dockerfile (see #505) to 2.1.2Cristian Cadar
2016-11-29Merge pull request #516 from delcypher/fix_compareAndrea Mattavelli
Fix Expr::compare
2016-11-28Clean up `Expr::compare()` interface byDan Liew
* Making `Expr::compre(const Expr&, ExprEquivSet)` private and moving its implementation into `Expr.cpp`. * Document `Expr::compare(const Expr&)`. This partially addresses #515 .
2016-11-28Remove default implementation of `Expr::compareContents(const Expr&)`Dan Liew
and make it a pure virtual method. Also make it protected rather than public because it is an implementation detail of `Expr::compare()`. This means that sub classes must implement it so this commit also provides implementations. The comparision behaves as before except for `ConcatExpr` where its `width` attribute is now used (previously it wasn't). This commit also documents the semantics of `Expr::compareContents(const Expr&)` which was clearly needed because it has been incorrectly implemented in the past and has gone unnoticed for several years. This partially addresses #515 .
2016-11-28Fix bug in implementation of `NotExpr`. It should not implementDan Liew
`compareContents()`. This bug would not have affected correctness but it would have affected performance because if `Expr::compare()` was called on two structually equal `NotExpr` then its children would be checked for structually equality twice - once in NotExpr::compareContents()` and once in `Expr::compare()`. This partially addresses #515 .
2016-11-23Renamed .pc to .kquery (kleaver query)Eric Rizzi
2016-11-23[CMake] Fix some indentation issues.Dan Liew
2016-11-23[CMake] Fix bug where the wrong path is checked for when checkingDan Liew
to see if we can find klee-uclibc's C library.
2016-11-22[CMake] Fix determining the system libraries needed by LLVM fromDan Liew
`llvm-config` when using LLVM 3.5 and newer. In newer versions of `llvm-config`, `--ldflags` doesn't give the system libraries anymore. Instead we need to use `--system-libs`. Issue reported by @ryosa .
2016-11-22[CMake] Add another missing LLVM component dependency for `kleeModule`.Dan Liew
Reported by @jirislaby in #507.
2016-11-22[CMake] Fix link order of LLVM libraries and required system libraries.Dan Liew
Now LLVM libraries are added as imported targets and their link dependencies are explicitly stated so CMake can get the link order correct.
2016-11-22[CMake] Add missing dependencies reported in #507.Dan Liew
This has shown that there is another circular dependency (added by me! sigh...) between `kleeCore` and `kleeModule`.
2016-11-21[CMake] Fix the build when `-DBUILD_SHARED_LIBS=ON` is passed.Dan Liew
This fixes issue #507. We can't build the components as shared libraries right now due to cyclic dependencies (see #502 for a fix) and there are a few other patches needed too (see #507). Building the components as shared libraries isn't really desirable anyway because it would require us to ship KLEE's libraries which don't have a stable API.
2016-11-20[CMake] Implement install of the kleeRuntest target.Dan Liew
2016-11-20[CMake] Fix the old Autoconf/Makefile build system files in source tree ↵Dan Liew
interfering with CMake build. We now raise a fatal error if we detect certain files in the source tree. This is a heuristic but it's good enough for now. The order of includes has also been changed so that the build tree include directory has priority over the source tree include directory so that even if the added check was missing the right header file (i.e. `${CMAKE_BINARY_DIR}/include/klee/Config/config.h` would be picked up at build time.
2016-11-19[CMake] Remove unneeded dependency declarations for the unit tests.Dan Liew
These were changes that I forgot to make in dda296e09ee53ed85ccf1c3f08e7e809adce612e .
2016-11-19Remove option --randomize-fork. If someone needs this, the right way is to ↵Cristian Cadar
implement it in the solver.
2016-11-19Merge branch 'MartinNowack-fix_bfs2'Cristian Cadar
2016-11-19Documented the level at which BFS operates in KLEE, as part of --helpCristian Cadar
2016-11-19Merge branch 'fix_bfs2' of https://github.com/MartinNowack/klee into ↵Cristian Cadar
MartinNowack-fix_bfs2
2016-11-19Merge pull request #492 from hoangmle/masterCristian Cadar
add nicer error messages for --use-merge and add explanation why it currently cannot be used with random-path
2016-11-19[CMake] Document implicit `STP_DIR` and `metaSMT_DIR` options.Dan Liew
2016-11-18[CMake] Remove use of tabs in `CMakeLists.txt` files.Dan Liew
2016-11-18[CMake] Re-express LLVM and KLEE library dependencies asDan Liew
transitive dependencies on KLEE's libraries rather than on the final binaries. This is better because it means we can build other tools that use KLEE's libraries and not need to express the needed LLVM dependencies. It also makes it clearer what the dependencies are between KLEE libraries. This has illustrated a problem with the `kleeBasic` library. It contains `ConstructSolverChain.cpp` which clearly belongs in `kleaverSolver` not in `kleeBasic`. This will be fixed later.