about summary refs log tree commit diff homepage
path: root/tools
AgeCommit message (Collapse)Author
2014-12-02Implement :named and let abbreviation modes in ExprSMTLIBPrinterRaimondas Sasnauskas
* Set the default abbreviation mode to let (ExprSMTLIBPrinter::ABBR_LET) * Remove the now defunct ExprSMTLIBLetPrinter * Improve performance of ExprSMTLIBPrinter::scan() by keeping track of visited Expr to avoid visiting them again * Rename ExprSMTLIBPrinter::printQuery() to ExprSMTLIBPrinter::printQueryExpr()
2014-12-01klee: let user override path to runtime libraryMarek Chalupa
When looking for runtime library, look first into KLEE_RUNTIME_LIBRARY_PATH environment variable. This allows to use klee not only in 'hardcoded' environment. Signed-off-by: Marek Chalupa <mchqwerty@gmail.com>
2014-11-13tools: prepend DESTDIR when installingJiri Slaby
Some tools prepend DESTDIR properly, some not. ktest-tool and klee-stats do not, so 'make install' chokes with an error: llvm[2]: Installing Release+Asserts /usr/bin/ktest-tool /usr/bin/install: cannot create regular file '/usr/bin/ktest-tool': Permission denied Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2014-11-01Upstream libstp is no longer dependent on Boost so remove theDan Liew
configure/Makefile code that adds Boost as a depdendency because We don't need to support old versions of STP that needed Boost.
2014-09-25Patch by Sean Bartell: "F_Binary was actually moved in LLVM 3.4 (r186447), ↵Cristian Cadar
not 3.0."
2014-09-17Fix segfault under LLVM3.5 . I forgot to release ownership of theDan Liew
MemoryBuffer from the std::unique_ptr when getLazyBitcodeModule() succesfully takes ownership.
2014-09-17Fix more LLVM3.5 compilation issues.Dan Liew
2014-09-17Compilation fix for LLVM3.5 caused by the removal of sys::fs::F_Binary.Dan Liew
The commit that caused this is r202052.
2014-09-17Another LLVM3.5 compilation fix.Dan Liew
2014-09-16[LLVM3.5] Update Kleaver for MemoryBuffer::getFileOrSTDIN changes.Daniel Dunbar
2014-09-16Fix #include under LLVM3.5. OwningPtr doesn't exist anymore.Dan Liew
2014-09-16Fix LLVM3.5 compilation a little more. ``Support/system_error.h``Dan Liew
was removed by r210803
2014-09-15Merge pull request #158 from delcypher/remove_response_filesCristian Cadar
Remove --read-args command line option because this feature has been
2014-09-15Taught klee_warning(), klee_error() etc... to emit coloured text output.Dan Liew
Also use bold green text when KLEE finishes. This is done by taking advantage of llvm::raw_ostream's nice API for controlling the console text colour.
2014-09-15Remove --read-args command line option because this feature has beenDan Liew
available in LLVM's command line parser for a while (response files).
2014-09-14Remove dependence on the bc tool. Use python instead because we areDan Liew
already dependent on it.
2014-09-13Add KLEE specific DEBUG macros.Daniel Dunbar
- This allows us to build in +Asserts mode even when LLVM isn't (by disabling the checks in that mode). - Eventually it would be nice to just move off of LLVM's DEBUG infrastructure entirely and just have our own copy, but this works for now. - Fixes #150.
2014-09-12Tweak the workarounds for multiple definition of PACKAGE_* macros from ↵Daniel Dunbar
config.h files. - There seems to be a better solution for this by defining a macro prefix, per: http://www.gnu.org/software/autoconf-archive/ax_prefix_config_h.html but I have no experience with that and it looks like it might involve rewriting a bunch of our macro checks.
2014-09-12Do not require <sys/capability.h>, which is Linux specific.Daniel Dunbar
2014-07-21Merge pull request #113 from antiAgainst/klee-statsCristian Cadar
klee-stats refactoring and improvement by antiAgainst: "this includes changing from OptionParser to ArgumentParser, rewriting not-pythonic code, respecting PEP8, etc; Adding line chart drawing in klee-stats."
2014-07-18Refactor klee-stats and add simple line chart drawing functionality.Lei Zhang
2014-07-09Fix to avoid warning message taking address of mainMartin Nowack
2014-05-29Remove #include <iostream> to avoid static constructorsMartin Nowack
iostream injects static constructor function into every compilation unit. Remove this to avoid it.
2014-05-29Refactoring from std::ostream to llvm::raw_ostreamMartin Nowack
According to LLVM: lightweight and simpler implementation of streams.
2014-04-23Fixing linking order if metaSMT is used: linking rt after z3 to avoid ↵Hristina Palikareva
undefined symbols in the z3 library.
2014-04-16Fixed compilation error if uClibc is not used.Stephan Falke
2014-04-15Fix handling of path name creation.Martin Nowack
If directory has no trailing slash, the slash is not addedd if concatenated
2014-04-14Fix compilation under LLVM2.9. SmallString in this old version doesDan Liew
not have the equals() method.
2014-04-14fix TOCTOU and simplify output directory creationFrank Busse
2014-04-14Tidy up code by using LLVM's V2 path API only and removing usesDan Liew
of old V1 path API. LLVM2.9 supports LLVM's V2 path API. Because that is the minimum version we support we should just use this API everywhere so we reduce the number of #if LLVM_VERSION_CODE macros and duplicated code.
2014-04-14Use SmallString and llvm::sys::path/fs API of LLVM 3.4 becauseMartin Nowack
Old Path API was removed
2014-02-24Improved help message for make-concrete-symbolic and fixed some typos.Cristian Cadar
2014-01-25Upstream STP's libstp now depends on boost. This commit updatesDan Liew
the configure script to detect this by first trying to link without boost and if that fails then trying to link libstp with boost. This also updates the relevant Makefiles so that the klee and kleaver executables link in STP's boost dependencies if necessary.
2014-01-09Fix build system so that ktest-tool and klee-stats can be installedDan Liew
under release build. The problem is that under release build the install command is told to strip symbols from the tools. It tries to do this for the python scripts and fails. This commit hacks this by requesting that symbols are not stripped from the python scripts.
2013-12-21klee-uclibc detection is now a lot cleaner. KLEE now assumesDan Liew
it can find klee-uclibc inside the same folder as the other runtime libraries with the name "klee-uclibc.bca" This is implemented as follows: * When building, a sym-link is created to klee-uclibc's libc.a file in the same directory that the rest of KLEE's runtime libraries are built. This done so that if a developer changes klee-uclibc on their system then the correct version of klee-uclibc is used by KLEE. * When installing, klee-uclibc's libc.a file is installed in the same directory that the rest of KLEE's runtime libraries are installed. In addition the configure script argument --with-uclibc can now operate in two ways. It can either be passed the path to the root of klee-uclibc or it can be passed a path to the libc.a file built by klee-uclibc. This new behaviour has been added to allow users to potential use pre-built versions of klee-uclibc.
2013-12-21The location of KLEE's runtime libraries (apart from klee-uclibc)Dan Liew
are now detected at runtime. This allows the correct location to be used when klee is invoked from the build directory or from its install location (i.e. make install)
2013-12-21Revert "Patch from Ben Gras which "makes Klee look for the libraries in the"Dan Liew
This reverts commit 1715ee37118cdf8785a1dd70d812b6a88ad623e7. Conflicts: Makefile.common Future commits are going to add a more way elegant to handle the search for libraries in build/install directory.
2013-12-11Merge pull request #31 from antiAgainst/chroot-replayCristian Cadar
Chroot replay feature
2013-12-08Add chroot jail support in klee-replay.Lei Zhang
2013-12-06Remove stoppoint referencesMartin Nowack
2013-12-06Deprecate LLVM 2.8 and lowerMartin Nowack
2013-12-05Close file descriptors used for warnings and messagesMartin Nowack
2013-11-05Exit if using --libc=uclibc and KLEE was not configured with uclibcDan Liew
or if the configured path does not exist. Previously if KLEE was configured and compiled without uclibc linking would still succeed because KLEE_UCLIBC was blank so LLVM was effectively asked to link with "/lib/libc.a" i.e. the system's native C library!
2013-11-05Refactored part of KleeHandler construction so thatDan Liew
- A fixed size buffer is no longer used for output Directory path (would of failed for large paths). - KLEE warns about the presence of klee-out-* files that aren't directories. - We don't get stuck in an infinite loop if there aren't available directories.
2013-11-05sort and remove some includesFrank Busse
2013-11-05Fix arbitrary path limits and improved error handling (exitFrank Busse
even if not built with asserts).
2013-10-29Merge pull request #26 from delcypher/fix_divide_by_zeroPaul
Fixed bug where divide by zero bugs would only be detected once in a program
2013-10-21Removed unnecessary/redundant linking of library boost_thread-mt to klee and ↵Hristina Palikareva
kleaver.
2013-10-11MetaSMT builder, solver and command-line options.Hristina Palikareva
2013-10-11Fixed compilation on LLVM 2.9. irreader should be linked only for LLVM >= 3.3Cristian Cadar