I was able to quickly get klee up and running on an x86_64 machine and
confirmed that the two tutorials worked, however I am getting compile
time errors when trying to build the klee version of uclibc.
My first thought was to read though this mailing list and I noticed
that x86_64 bit support is rather new. Thus, I was wondering if anyone
had tested the uclibc library. After that, I tried simply hacking my
way to victory, but did not get very far.
The first problem was this:
In file included from /usr/include/asm/posix_types.h:4,
from /usr/include/linux/posix_types.h:47,
from /usr/include/linux/types.h:5,
from /usr/include/linux/if_ether.h:24,
from ./include/netinet/if_ether.h:26,
from ./include/netinet/ether.h:26,
from libc/inet/ether_addr.c:31:
/usr/include/asm/posix_types_64.h:10: error: redefinition of typedef
'__kernel_ino_t'
./include/bits/kernel_types.h:11: error: previous declaration of
'__kernel_ino_t' was here
...
(more redefinition errors)
A quick glance at the offending header files show that a #define that
is supposed to match posix_types does not in fact
match(_ASM_X86_POSIX_TYPES_64_H vs _ASM_X86_64_POSIX_TYPES_H). Hacking
that header file seems to work, but another error crops up:
In file included from libc/stdlib/strtol_l.c:8:
libc/stdlib/stdlib.c:346: error: conflicting types for 'strtoll_l'
./include/stdlib.h:266: error: previous declaration of 'strtoll_l' was here
libc/stdlib/stdlib.c:348: error: conflicting types for 'strtoll_l'
./include/stdlib.h:266: error: previous declaration of 'strtoll_l' was here
Unfortunately, fixing this is beyond my "quick C hacking" capability,
and thus I turn to the list. Thank you for the time and open sourcing
this wonderful tool. :)
--
Nicholas Childers
nickchilders at umail.ucsb.edu