[klee-dev] how to compile busybox-1.4.2 to be a .bc file correctly?

Cristian Cadar c.cadar at imperial.ac.uk
Fri Mar 8 11:30:09 GMT 2013


Hi Yi,

If you look at vi.c:2091, you'll see that it calls FD_ZERO.  This is 
defined in sys/select.h ("man FD_ZERO" for details), and the message 
says it has unsupported inline asm.  You need to replace the 
implementation of FD_ZERO with one that does not use inline asm.  For 
example, you can find one in uclibc, in 
libc/sysdeps/linux/i386/bits/select.h).

Best,
Cristian

On 07/03/2013 12:54, Yi Zhou wrote:
> Hi  Cristian Cadar:
>        Thank you very much for your help!
>        I redo the experiments as you said.
>       if I use command make CC=klee-gcc LD="llvm-ld --disable-opt"
> AR=llvm-ar SKIP_STRIP=y V=1 to complie the busybox, it will return messages:
>
> /home/guest/installed/busybox/mybusybox/busybox-1.4.2/coreutils/tail.c:83:
> error: nested functions are disabled, use -fnested-functions to re-enable
>       so I use command: make CC=klee-gcc LD="llvm-ld --disable-opt"
> AR=llvm-ar SKIP_STRIP=y V=1 CFLAGS=-fnested-functions
>      But anther error happened:
> /home/guest/installed/busybox/mybusybox/busybox-1.4.2/editors/vi.c:2091:
> error: unsupported inline asm: input constraint with a matching output
> constraint of incompatible type!
>     So what it means? Do you have the same problem when you compile the
> busybox-1.4.2?
>     Hope for your direction~~
>    Thank you~~
>
> Yi
>
>
> 2013/3/7 Cristian Cadar <c.cadar at imperial.ac.uk
> <mailto:c.cadar at imperial.ac.uk>>
>
>     Hi Yi,
>
>     We used this sequence:
>
>     mkdir obj-klee
>     make -w O=obj-klee defconfig
>     cd obj-klee
>     make CC=klee-gcc LD="llvm-ld --disable-opt" AR=llvm-ar SKIP_STRIP=y V=1
>     ln -s busybox_unstripped.bc <toolname>  (for each tool you want to run)
>
>     You might need to adjust this a bit (I noticed that on my current
>     machine I also need CFLAGS=-fnested-functions).
>
>     Hope this helps,
>     Cristian
>
>
>     On 27/02/2013 15:47, Yi Zhou wrote:
>
>         Hi everyone:
>                               I want to test busybox-1.4.2 like coreutils.
>                               But I get a link error:
>                               llvm-ld: error: Cannot find linker input
>         'archival/lib.a'
>                               make: *** [busybox_unstripped] error 1
>
>                               I use the command:make
>         CC=/full/path/to/klee/scripts/__klee-gcc LD=llvm-ld
>                               or
>                               make V=1 CC=klee-gcc LD="klee-gcc -Wl,"
>         SKIP_STRIP=y CFLAGS=-fnested-functions
>                               someone can help me ?
>                               Thank you very much!!
>         Yi Zhou
>         Institute Of Software
>         Chinese Academy of Sciences
>
>
>         _________________________________________________
>         klee-dev mailing list
>         klee-dev at imperial.ac.uk <mailto:klee-dev at imperial.ac.uk>
>         https://mailman.ic.ac.uk/__mailman/listinfo/klee-dev
>         <https://mailman.ic.ac.uk/mailman/listinfo/klee-dev>
>
>




More information about the klee-dev mailing list