about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2019-11-07Added test for 3-argument main.Cristian Cadar
2019-11-07Allow main with 3 argumentsCristian Cadar
2019-11-05Most libc++ tests require uclibc; add missing REQUIRES statements or remove ↵Cristian Cadar
dependency.
2019-11-05Core: Executor, remove unused variableJiri Slaby
numSeeds is unused since commit 4eb050e2999b (ExecutorTimers: refactor and move to support lib), so remove it.
2019-11-05Do not modify strings if they are read-only.Martin Nowack
Hoist increment of `sc` into the loop header. Memory locations can only be written to if they are writeable. Avoid concretising a value by writing it. If the location is not symbolic in the first place. This avoids writing read-only memory locations.
2019-11-05Mark all constant global memory objects as constantMartin Nowack
Fixes #264. We first aggregate all constant memory objects initialise them and initialise their counter parts in the concrete memory. After that, we mark memory objects as constant such that they can't be modified (i.e. this includes marking them symbolic).
2019-11-05[test] Fix missing includesMartin Nowack
Fix multiple missing includes
2019-11-05runtime: fix for glibc 2.30Jiri Slaby
glibc 2.30 moved definition of getdents64 to dirent_ext.h. Hence, it became visible to us (via dirent.h) and conflicts with our definition: runtime/POSIX/fd_64.c:112:5: error: conflicting types for 'getdents64' int getdents64(unsigned int fd, struct dirent *dirp, unsigned int count) { ^ /usr/include/bits/dirent_ext.h:29:18: note: previous declaration is here extern __ssize_t getdents64 (int __fd, void *__buffer, size_t __length) We use the parameters defined by kernel, not by userspace (libc). Both glibc and uclibc define it as: ssize_t __getdents64 (int fd, char *buf, size_t nbytes) so follow it.
2019-11-04Remove the duplicated check for DebugInfoIntrinsicHui Peng
2019-11-04Use default travis OS X version instead of outdated old oneMartin Nowack
2019-10-31Executor: fix missing default case in switch instructionFrank Busse
2019-10-31enable testing for LLVM 9.0Julian Büning
2019-10-31LLVM 9.0: fourth parameter for @llvm.objectsize()Julian Büning
2019-10-31klee-libc: add bcmpJulian Büning
2019-10-31support compilation against LLVM 9.0Julian Büning
2019-10-29[klee-replay] Fix relative executable pathsTimotej Kapus
2019-10-29Travis: double timeout for MetaSMT testsFrank Busse
2019-10-29ExecutorTimers: refactor and move to support libFrank Busse
- moves timer handling from Executor into support lib - introduces TimerGroup, removes TimerInfo/WriteStatsTimer/UpdateReachableTimer/WriteIStatsTimer classes - removes ExecutorTimers.cpp and ExecutorTimerInfo.h - removes -max-instruction-time flag (see #1114)
2019-10-29ExecutorTimers: remove signalling, fix endless looping forkFrank Busse
- adds -timer-interval threshold for timer checks - fixes #831
2019-10-16Add missing file utility in docker imageMartin Nowack
2019-10-08Executor.h: remove defined functions without implementationFrank Busse
2019-10-07test/Expr/Evaluate2.kquery: add link to issueJulian Büning
2019-10-07fix: make llvm 7.1 knownJulian Büning
2019-10-07test/Feature/SolverTimeout.c: re-enable for Z3Julian Büning
2019-10-07test/lit.cfg: test if current version is knownJulian Büning
2019-10-07test/lit.cfg: use lit_config instead of litJulian Büning
Since LLVM version 3.6.0 or lit version 0.5.0, `lit_config` is the name of the global object, not `lit`.
2019-10-07Do not use klee_range() in regression/2014-09-13-debug-info.c test, as it isGleb Popov
incompatible with klee_prefer_cex. Fixes https://github.com/klee/klee/issues/1161 While there, remove dependence on `sort` utility, which might help porting KLEE Windows eventually.
2019-09-20refactor PTree: use unique_ptrFrank Busse
2019-09-20refactor PTree: remove split(), add attach() methodFrank Busse
2019-09-20Move intrinsics tests to the proper directoryMateusz Naściszewski
2019-09-20Add tests for saturating arithmeticMateusz Naściszewski
2019-09-20Add saturated arithmetic intrinsicsMateusz Naściszewski
2019-09-09fix minor build script issues and inconsistenciesJulian Büning
mostly following shellcheck
2019-09-05build: additional patches for LLVM 3.8-5.0Julian Büning
2019-09-05test/CMakeLists.txt: error handling for downloadJulian Büning
2019-09-05test/CMakeLists.txt: use official llvm monorepo for downloadJulian Büning
2019-09-03Moved solver-related header files into a separate klee/Solver/ directory.Cristian Cadar
2019-09-03Moved ConstructSolverChain.cpp to the Solver library.Cristian Cadar
2019-09-03Renamed CmdLineOptions.cpp to SolverCmdLine.cpp (in line with the associated ↵Cristian Cadar
header SolverCmdLine.h) and moved it to the Solver library.
2019-08-15ExecutorTimers: move dumpStates/dumpPTree into ExecutorFrank Busse
* creates two new methods: dumpStates, dumpPTree
2019-08-15replace fprintf with fputs/fputcFrank Busse
2019-08-14Update basic block iterator after deleting instruction; add test caseMartin Nowack
2019-08-14fixed bug in IntrinsicCleaner trap cleanerMichael Bryman
2019-08-14Rewrote the checks in GenRandomBout.c to remove dependency on bash and use ↵Cristian Cadar
FileCheck instead (FreeBSD tests on Travis CI fail otherwise)
2019-08-14Moved Gen*Bout.c tests outside the test/Runtime/POSIX directory, as they ↵Cristian Cadar
don't need POSIX support to run.
2019-08-14Delete functions delete_file() and delete_dir() which are not needed now ↵Cristian Cadar
that klee-replay creates a temporary directory for replay
2019-08-14Replace sprintf with snprintf throughout codebaseCristian Cadar
2019-08-14Create all files in the replay directory and chdir to this directory before ↵Cristian Cadar
executing the program.
2019-08-14Updated error messages in Gen*Bout.cCristian Cadar
2019-08-14Added an option to klee-replay to keep replay directoryCristian Cadar