diff options
author | Martin Nowack <martin.nowack@gmail.com> | 2013-08-13 12:22:36 +0200 |
---|---|---|
committer | Martin Nowack <martin.nowack@gmail.com> | 2013-08-27 23:16:18 +0200 |
commit | b1b96a784632f71928220117624a2c07ab3ca9e6 (patch) | |
tree | 8b47a50e639521fee563d276579f60e8512f048f /tools | |
parent | c4147c2ad9ba1e74642e1a3de31be8f4446cc7f3 (diff) | |
download | klee-b1b96a784632f71928220117624a2c07ab3ca9e6.tar.gz |
Port to LLVM 3.3
Major changes are: - Switching to llvm-link to build archive files - Use GetMallocUsage instead of GetTotalMemoryUsage (be aware of bug in LLVM 3.3 http://llvm.org/bugs/show_bug.cgi?id=16847) - intrinsic library functions like memcpy/mov/set use weak linkage to be replaced by e.g. uclibc functions - rewrote linking with library - enhanced MemoryLimit test case to check if mallocs were successful
Diffstat (limited to 'tools')
-rw-r--r-- | tools/klee/main.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/klee/main.cpp b/tools/klee/main.cpp index 79f29d2d..c296f25f 100644 --- a/tools/klee/main.cpp +++ b/tools/klee/main.cpp @@ -13,11 +13,17 @@ #include "klee/Internal/Support/ModuleUtil.h" #include "klee/Internal/System/Time.h" +#if LLVM_VERSION_CODE > LLVM_VERSION(3, 2) +#include "llvm/IR/Constants.h" +#include "llvm/IR/Module.h" +#include "llvm/IR/Type.h" +#include "llvm/IR/InstrTypes.h" +#include "llvm/IR/Instruction.h" +#include "llvm/IR/Instructions.h" +#include "llvm/IR/LLVMContext.h" +#else #include "llvm/Constants.h" #include "llvm/Module.h" -#if LLVM_VERSION_CODE < LLVM_VERSION(2, 7) -#include "llvm/ModuleProvider.h" -#endif #include "llvm/Type.h" #include "llvm/InstrTypes.h" #include "llvm/Instruction.h" @@ -25,6 +31,10 @@ #if LLVM_VERSION_CODE >= LLVM_VERSION(2, 7) #include "llvm/LLVMContext.h" #endif +#endif +#if LLVM_VERSION_CODE < LLVM_VERSION(2, 7) +#include "llvm/ModuleProvider.h" +#endif #include "llvm/Bitcode/ReaderWriter.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ManagedStatic.h" @@ -1242,7 +1252,11 @@ int main(int argc, char **argv, char **envp) { case KleeLibc: { // FIXME: Find a reasonable solution for this. llvm::sys::Path Path(Opts.LibraryDir); +#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 3) + Path.appendComponent("klee-libc.bc"); +#else Path.appendComponent("libklee-libc.bca"); +#endif mainModule = klee::linkWithLibrary(mainModule, Path.c_str()); assert(mainModule && "unable to link with klee-libc"); break; |