Dear Dan Liew, Thanks for your detailed info. I followed you instructions, but I still have the error. And I got the next information.
$ llvm-ld --version Low Level Virtual Machine (http://llvm.org/): llvm version 2.9 Optimized build with assertions. Built Aug 12 2012 (10:31:59). Host: x86_64-unknown-linux-gnu Host CPU: penryn Registered Targets: (none) $ lli --version Low Level Virtual Machine (http://llvm.org/): llvm version 2.9 Optimized build with assertions. Built Aug 12 2012 (10:31:59). Host: x86_64-unknown-linux-gnu Host CPU: penryn Registered Targets: x86 - 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64 *I checked the readable form of cat.bc, and I found the target triple is "i386-pc-linux-gnu" not "**x86_64-unknown-linux-gnu"*. I think it is the problem, how can I generate cat whose target triple is "* x86_64-unknown-linux-gnu*"? $ file /sbin/init /sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x029d6e45c81ad4eee2627f676b7580c9ed5fde47, stripped -------------------------------------------- Qiuping Yi Institute Of Software Chinese Academy of Sciences 2012/9/12 Delcypher <delcyp...@gmail.com> > Hi, > Could you make sure you reply to the mailing rather than just me, else no > one else but me will see your problem! > > I'm sorry but I don't know why you're getting this new error message. I > never had that problem but you could try the following > > 0. Verify that you don't have multiple versions of LLVM installed. So > verify that your output is similar to this... > $ llvm-gcc --version > llvm-gcc (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2.9) > > $ llvm-ldd --version > Low Level Virtual Machine (http://llvm.org/): > llvm version 2.9 > Optimized build with assertions. > > $ lli --version > Low Level Virtual Machine (http://llvm.org/): > llvm version 2.9 > Optimized build with assertions. > Built Jul 20 2012 (11:49:59). > Host: x86_64-unknown-linux-gnu > Host CPU: penryn > > Registered Targets: > x86 - 32-bit X86: Pentium-Pro and above > x86-64 - 64-bit X86: EM64T and AMD64 > > If "lli" doesn't have any registered targets then you will have problems! > You will also have problems if your machines architecture is not listed. > > 1. delete the "obj-llvm" directory > 2. Make sure LLVM_LIB_SEARCH_PATH is set > 3. Now make the "obj-llvm" directory. Make sure this folder is NOT in the > source tree for core-utils, in the instructions it seems to be. I prefer > having something like core-utils/src and core-utils/obj-llvm as the source > code and build directories respectively. > $ mkdir obj-llvm > $ cd obj-llvm/ > $ ../src/configure --disable-nls CFLAGS="-g" > 4. Run make > $ make CC=/path/to/klee-gcc > 5. Now try again running cat again. > > If that fails inspect the produced bit code files (*.bc) > > $ llvm-dis cat.bc > > This will produce a "cat.ll" file. Which is the Bitcode file in human > readable form, take a look and check your target triple is something like " > x86_64-unknown-linux-gnu" > > Other than that I have nothing more to suggest because I don't know much > about LLVM. > > Thanks, > Dan Liew. > > > On 11 September 2012 15:28, Qiuping Yi <yiqiup...@gmail.com> wrote: > >> yes, you are right. But after I executed "*make >> CC=/full/path/to/klee/scripts/klee-gcc*" successfully, I cannot >> successfully execute "*/cat --version*" following the guide, and I got >> the next error information. >> >> qiu@qiu:~/installed/coreutils-6.11/obj-llvm/src$ ./cat --version >> lli: JITEmitter.cpp:1141: void >> {anonymous}::JITEmitter::emitJumpTableInfo(llvm::MachineJumpTableInfo*): >> Assertion `MJTI->getEntrySize(*TheJIT->getTargetData()) == sizeof(void*) && >> "Cross JIT'ing?"' failed. >> 0 lli 0x0000000000b6edff >> 1 lli 0x0000000000b6f309 >> 2 libpthread.so.0 0x00007f3595437cb0 >> 3 libc.so.6 0x00007f359468d445 gsignal + 53 >> 4 libc.so.6 0x00007f3594690bab abort + 379 >> 5 libc.so.6 0x00007f359468610e >> 6 libc.so.6 0x00007f35946861b2 >> 7 lli 0x000000000078e8a6 >> 8 lli 0x000000000054dfc0 >> 9 lli 0x0000000000b00acf >> llvm::FPPassManager::runOnFunction(llvm::Function&) + 591 >> 10 lli 0x0000000000b0150d >> llvm::FunctionPassManagerImpl::run(llvm::Function&) + 141 >> 11 lli 0x0000000000b016cd >> llvm::FunctionPassManager::run(llvm::Function&) + 173 >> 12 lli 0x0000000000780d8e >> llvm::JIT::jitTheFunction(llvm::Function*, llvm::MutexGuard const&) + 46 >> 13 lli 0x000000000078114c >> llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard >> const&) + 28 >> 14 lli 0x0000000000781440 >> llvm::JIT::getPointerToFunction(llvm::Function*) + 576 >> 15 lli 0x000000000077f677 >> llvm::JIT::runFunction(llvm::Function*, std::vector<llvm::GenericValue, >> std::allocator<llvm::GenericValue> > const&) + 71 >> 16 lli 0x0000000000a0f292 >> llvm::ExecutionEngine::runFunctionAsMain(llvm::Function*, >> std::vector<std::string, std::allocator<std::string> > const&, char const* >> const*) + 722 >> 17 lli 0x0000000000504665 main + 1829 >> 18 libc.so.6 0x00007f359467876d __libc_start_main + 237 >> 19 lli 0x000000000050b6c9 >> Stack dump: >> 0. Program arguments: lli cat.bc --version >> 1. Running pass 'X86 Machine Code Emitter' on function '@main' >> >> >> -------------------------------------------- >> Qiuping Yi >> Institute Of Software >> Chinese Academy of Sciences >> >> >> 2012/9/11 Delcypher <delcyp...@gmail.com> >> >>> LLVM-LD can't find the libraries it needs to link with. In the is case >>> librt (the realtime library). >>> >>> Find the location of librt.a on your system and set the >>> LLVM_LIB_SEARCH_PATH variable before you run make. >>> >>> For example on my system librt is in /usr/lib/ so I would run in my shell >>> >>> $ export LLVM_LIB_SEARCH_PATH=/usr/lib >>> >>> Read the manpage of llvm-ld for more information. >>> >>> That should fix your problem. >>> >>> Regards, >>> Dan Liew. >>> >>> On 11 September 2012 10:02, Qiuping Yi <yiqiup...@gmail.com> wrote: >>> >>>> Dear everyone, >>>> >>>> I am a new user of klee, today I began to test the "coreutils case >>>> study" following the >>>> instructions in klee.llvm.org/TestingCoreutils.html. In the second >>>> step (build coreutils with llvm), >>>> I got the next error information when I executed "*obj-llvm$ make >>>> CC=/full/path/to/klee/scripts/klee-gcc*" . >>>> What should I do to correct the error? Thank you all very much! >>>> >>>> /home/yq/installed/klee/scripts/klee-gcc -g -Wl,--as-needed -o chmod >>>> chmod.o ../lib/libcoreutils.a ../lib/libcoreutils.a >>>> /home/yq/installed/klee/scripts/klee-gcc -I. -I../../src -I../lib >>>> -I../../lib -g -MT cp.o -MD -MP -MF .deps/cp.Tpo -c -o cp.o >>>> ../../src/cp.c >>>> mv -f .deps/cp.Tpo .deps/cp.Po >>>> /home/yq/installed/klee/scripts/klee-gcc -I. -I../../src -I../lib >>>> -I../../lib -g -MT copy.o -MD -MP -MF .deps/copy.Tpo -c -o copy.o >>>> ../../src/copy.c >>>> mv -f .deps/copy.Tpo .deps/copy.Po >>>> /home/yq/installed/klee/scripts/klee-gcc -I. -I../../src -I../lib >>>> -I../../lib -g -MT cp-hash.o -MD -MP -MF .deps/cp-hash.Tpo -c -o >>>> cp-hash.o ../../src/cp-hash.c >>>> mv -f .deps/cp-hash.Tpo .deps/cp-hash.Po >>>> /home/yq/installed/klee/scripts/klee-gcc -g -Wl,--as-needed -o cp >>>> cp.o copy.o cp-hash.o ../lib/libcoreutils.a ../lib/libcoreutils.a >>>> /home/yq/installed/klee/scripts/klee-gcc -I. -I../../src -I../lib >>>> -I../../lib -g -MT dd.o -MD -MP -MF .deps/dd.Tpo -c -o dd.o >>>> ../../src/dd.c >>>> mv -f .deps/dd.Tpo .deps/dd.Po >>>> /home/yq/installed/klee/scripts/klee-gcc -g -Wl,--as-needed -o dd >>>> dd.o ../lib/libcoreutils.a ../lib/libcoreutils.a -lrt >>>> llvm-ld: error: Cannot find library 'rt' >>>> make[3]: *** [dd] Error 1 >>>> make[3]: Leaving directory >>>> `/home/qiu/installed/coreutils-6.11/obj-llvm/src' >>>> make[2]: *** [all] Error 2 >>>> make[2]: Leaving directory >>>> `/home/qiu/installed/coreutils-6.11/obj-llvm/src' >>>> make[1]: *** [all-recursive] Error 1 >>>> make[1]: Leaving directory `/home/qiu/installed/coreutils-6.11/obj-llvm' >>>> -------------------------------------------- >>>> Qiuping Yi >>>> Institute Of Software >>>> Chinese Academy of Sciences >>>> >>>> _______________________________________________ >>>> klee-dev mailing list >>>> klee-dev@keeda.stanford.edu >>>> http://keeda.Stanford.EDU/mailman/listinfo/klee-dev >>>> >>>> >>> >> >
_______________________________________________ klee-dev mailing list klee-dev@keeda.stanford.edu http://keeda.Stanford.EDU/mailman/listinfo/klee-dev