[klee-dev] using klee without llvm-gcc?
Hongxu Chen
leftcopy.chx at gmail.com
Sun Mar 17 03:20:53 GMT 2013
Dear all,
It seems that llvm-gcc-4.2-2.9(
http://llvm.org/releases/2.9/llvm-gcc-4.2-2.9.source.tgz) suggested by the
getting started page of klee <http://klee.llvm.org/GetStarted.html> has
many problems and is treated as obsolete by the llvm community. For me, an
internal error occurred when I built it with an debug version of llvm-2.9.
So I have some questions about klee:
1. Is it possible to build llvm *without* llvm-gcc when I have to use
klee and uclibc? This page(http://klee.llvm.org/GetStarted.html) says
that llvm-gcc has to be added into $PATH so that llvm would choose llvm-gcc
other than gcc or clang to build llvm. The key difference is that llvm-gcc
generates *libkleeRuntimeIntrinsic.bca*(and the related posix,uclibc
runtime .bca library; this
thread<http://keeda.stanford.edu/pipermail/klee-dev/2010-August/000462.html>tells
the details ). I took a glance at the
*configure* file of llvm but didn't figure out how it is done. So I am
wondering whether *clang-compiled* llvm also has
libkleeRuntimeIntrinsic.bca and the like. I came across another project
called *klee-fp*, which uses clang and llvm-3.0; additionally they also
use uclibc, But there is a compilation error when I built klee-fp(actually
the error is in the compilation of stp, which is inside klee-fp source code
folder).
2. If those .bca files can only be generated by llvm-gcc, then is there
any trick when I use llvm-gcc binary(
http://llvm.org/releases/2.9/llvm-gcc4.2-2.9-x86_64-linux.tar.bz2)
(instead of building llvm-gcc from souce) to compile llvm? There are still
some compilation errors for me.
3. Does klee support clang/llvm3.1 now? I checkout klee and find that
the latest version is r176816, which is committed on 2013-03-12. And I
also notice a log from r168798 that says `Removed fragile test which does
not work anymore with clang/llvm 3.1.`. In addition, there are some macros
in source code files that indicates that. For instance, there is `#if
LLVM_VERSION_CODE >= LLVM_VERSION(3, 1)` in Line 13 of lib/Expr/Expr.cpp.
So how can I use a newer version of llvm/clang with klee?
Many thanks,
Hongxu Chen
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the klee-dev
mailing list