From 8bec949fc84d8fe8dacbf38ff123b404f1eb4737 Mon Sep 17 00:00:00 2001 From: Timotej Kapus Date: Wed, 13 Dec 2017 17:37:16 +0000 Subject: Add support for concretizing symbolic objects passed to external functions --- lib/Core/Memory.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/Core/Memory.h') diff --git a/lib/Core/Memory.h b/lib/Core/Memory.h index e854502c..47dd892a 100644 --- a/lib/Core/Memory.h +++ b/lib/Core/Memory.h @@ -11,6 +11,7 @@ #define KLEE_MEMORY_H #include "Context.h" +#include "TimingSolver.h" #include "klee/Expr.h" #include "llvm/ADT/StringExtras.h" @@ -205,9 +206,15 @@ public: void write16(unsigned offset, uint16_t value); void write32(unsigned offset, uint32_t value); void write64(unsigned offset, uint64_t value); - void print() const; + /* + Looks at all the symbolic bytes of this object, gets a value for them + from the solver and puts them in the concreteStore. + */ + void flushToConcreteStore(TimingSolver *solver, + const ExecutionState &state) const; + private: const UpdateList &getUpdates() const; -- cgit 1.4.1