[klee-dev] Asking for Help about Klee3.4 on docker

Andrea Mattavelli a.mattavelli at imperial.ac.uk
Wed Mar 16 10:35:14 GMT 2016


Hi Jiarui,
in the first case you are running extract-bc on the wrong object: extract-bc must be run on the executable (base64) and not on the object file.
In the second case the problem is that you are running configure with wllvm without specifying LLVM_COMPILER=clang (configure: error: C compiler cannot create executables). Try to look into config.log to confirm the problem.

You can find some more explanations on the wllvm page: https://github.com/travitch/whole-program-llvm <https://github.com/travitch/whole-program-llvm>

Best,
Andrea

> On 16 Mar 2016, at 10:09, Jiarui Wang <jrwwang at ucdavis.edu> wrote:
> 
> Hi, 
> 
> I followed   Tutorial on How to Use KLEE to Test GNU Coreutils http://klee.github.io/tutorials/testing-coreutils/ <http://klee.github.io/tutorials/testing-coreutils/>  .
> 
> In the step 2, I got all the *.o files by using whole-program-llvm. But there is no *.bc files.
> 
> So I used 
> 
> klee at 3cc1aa045534:~/test/coreutils-6.11/obj-llvm/src$ /home/klee/test/whole-program-llvm-master/extract-bc base64.o
> 
> to get *.bc files. But I got the error 
> 
> klee at 3cc1aa045534:~/test/coreutils-6.11/obj-llvm/src$ /home/klee/test/whole-program-llvm-master/extract-bc base64.o
> DEBUG::popenwrapper.Popen() at popenwrapper.py:13 ::WLLVM Executing:
> ['file', '/home/klee/test/coreutils-6.11/obj-llvm/src/base64.o']
> in: /home/klee/test/coreutils-6.11/obj-llvm/src
> DEBUG::extract-bc.process_file_unix() at extract-bc:341 ::Detected file type is ELF_OBJECT
> INFO::extract-bc.process_file_unix() at extract-bc:348 ::Generating LLVM Bitcode module
> DEBUG::popenwrapper.Popen() at popenwrapper.py:13 ::WLLVM Executing:
> ['objdump', '-h', '-w', 'base64.o']
> in: /home/klee/test/coreutils-6.11/obj-llvm/src
> Traceback (most recent call last):
>   File "/home/klee/test/whole-program-llvm-master/extract-bc", line 380, in <module>
>     sys.exit(main(sys.argv))
>   File "/home/klee/test/whole-program-llvm-master/extract-bc", line 327, in main
>     process_file_unix(inputFile, outputFile, llvmLinker, llvmArchiver)
>   File "/home/klee/test/whole-program-llvm-master/extract-bc", line 349, in process_file_unix
>     return handleExecutable(inputFile, outputFile, extractor, llvmLinker)
>   File "/home/klee/test/whole-program-llvm-master/extract-bc", line 139, in handleExecutable
>     fileNames = extractor(inputFile)
>   File "/home/klee/test/whole-program-llvm-master/extract-bc", line 129, in extract_section_linux
>     (sectionSize, sectionOffset) = getSectionSizeAndOffset(elfSectionName, inputFile)
>   File "/home/klee/test/whole-program-llvm-master/extract-bc", line 79, in getSectionSizeAndOffset
>     filename)
> Exception: Could not find ".llvm_bc" ELF section in "base64.o"
> 
> Just like this email https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg01926.html <https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg01926.html>  and it does not work for both base64 and base64.o
> 
> Then I tried 
> ```
> export WLLVM_OUTPUT=DEBUG
> export CC=wllvm
> export CXX=wllvm++
>  ../configure --disable-nls CFLAGS="-g"
> make
> ```
> when I run ../configure --disable-nls CFLAGS="-g”  there was an error
> klee at 3cc1aa045534:~/test/coreutils-6.11/obj-llvm$ ../configure --disable-nls CFLAGS="-g"
> checking build system type... x86_64-unknown-linux-gnu
> checking host system type... x86_64-unknown-linux-gnu
> configure: autobuild project... GNU coreutils
> configure: autobuild revision... 6.11
> configure: autobuild hostname... 3cc1aa045534
> configure: autobuild timestamp... 20160316-095126
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /bin/mkdir -p
> checking for gawk... no
> checking for mawk... mawk
> checking whether make sets $(MAKE)... yes
> checking for style of include used by make... GNU
> checking for gcc... wllvm
> checking for C compiler default output file name... 
> configure: error: C compiler cannot create executables
> See `config.log' for more details.
> Hope you can help me asap.
> Thank you very much
> Jiarui Wang
> 
> _______________________________________________
> klee-dev mailing list
> klee-dev at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

-------------- next part --------------
HTML attachment scrubbed and removed


More information about the klee-dev mailing list