klee / klee

KLEE Symbolic Execution Engine

Home Page:https://klee-se.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kleeRuntest seems to be missing in aarch64 target

zpzigi754 opened this issue · comments

I've built the latest klee (fc83f06) with the below command where llvm is in default set to aarch64 target.

cmake \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DENABLE_SOLVER_Z3=ON \
  -DENABLE_KLEE_UCLIBC=OFF \
  -DENABLE_POSIX_RUNTIME=OFF \
  -DLLVMCC="/usr/local/bin/clang" \
  -DLLVMCXX="/usr/local/bin/clang++" \
  -DLLVM_CONFIG_BINARY="/usr/local/bin/llvm-config" \
  -DENABLE_UNIT_TESTS=OFF \
  ..
make
sudo make install

It seems that libkleeRuntest.so is missing in the generated files.
Is there any reason that libkleeRuntest has not been generated with my configuration?
I suspect that the reason might be related to disabling klee-uclibc, but not sure. Note that I've disabled klee-uclibc, because klee-uclibc does not support aarch64 target (klee/klee-uclibc#28).

For the reference, the generated klee's environment is like the below.

$ klee --version
KLEE 3.1-pre (https://klee.github.io)
  Build mode: RelWithDebInfo (Asserts: ON)
  Build revision: fc83f06b17221bf5ef20e30d9da1ccff927beb17

LLVM (http://llvm.org/):
  LLVM version 14.0.6
  DEBUG build with assertions.
  Default target: aarch64-unknown-none-softfloat
  Host CPU: skylake

KLEE only targets x86_64 (with only Linux at tier 1 level) at the moment, other platforms are not tested, and will probably have various issues even if they use 64 bit addresses.