[klee-dev] can't get the get_sign.c to work under Tumbleweed Suse with clang-17
Dennis Luehring
dl.soluz at gmx.net
Sun Oct 1 11:23:17 BST 2023
Standard Clang 17.0.1 and Klee 3.0 from Tumbleweed package manager
per default the klee packages comes with LLVM 14.0.6
linux at localhost:~/tests/klee_dev> clang --version
clang version 17.0.1
Target: x86_64-suse-linux
Thread model: posix
InstalledDir: /usr/bin
linux at localhost:~/tests/klee_dev> klee --version
KLEE 3.1-pre (https://klee.github.io)
Build mode: RelWithDebInfo (Asserts: OFF)
Build revision: unknown
LLVM (http://llvm.org/):
LLVM version 14.0.6
Optimized build.
Default target: x86_64-suse-linux
Host CPU: rocketlake
linux at localhost:~/tests/klee_dev>
linux at localhost:~/tests/klee_dev> llvm-cov --version
LLVM (http://llvm.org/):
LLVM version 17.0.1
Optimized build.
https://klee.github.io/tutorials/testing-function/
https://github.com/klee/klee/blob/master/examples/get_sign/get_sign.c
following the tutorial
linux at localhost:~/tests/klee_dev> clang -I ../../include -emit-llvm -c
-g -O0 -Xclang -disable-O0-optnone get_sign.c
linux at localhost:~/tests/klee_dev> klee get_sign.bc
KLEE: ERROR: Loading file get_sign.bc failed: Opaque pointers are only
supported in -opaque-pointers mode (Producer: 'LLVM17.0.1' Reader: 'LLVM
14.0.6')
linux at localhost:~/tests/klee_dev>
or
linux at localhost:~/tests/klee_dev> clang -emit-llvm -c get_sign.c
linux at localhost:~/tests/klee_dev> klee get_sign.bc
KLEE: ERROR: Loading file get_sign.bc failed: Opaque pointers are only
supported in -opaque-pointers mode (Producer: 'LLVM17.0.1' Reader: 'LLVM
14.0.6')
linux at localhost:~/tests/klee_dev>
i am not able to disable the opaque pointers according to this doc:
https://llvm.org/docs/OpaquePointers.html
the i installed the older clang-14
linux at localhost:~/tests/klee_dev> sudo zypper install clang14
that works
linux at localhost:~/tests/klee_dev> clang-14 -I ../../include -emit-llvm
-c -g -O0 -Xclang -disable-O0-optnone get_sign.c
linux at localhost:~/tests/klee_dev> klee get_sign.bc
KLEE: output directory is "/home/linux/tests/klee_dev/klee-out-1"
KLEE: Using STP solver backend
KLEE: SAT solver: MiniSat
KLEE: done: total instructions = 33
KLEE: done: completed paths = 3
KLEE: done: partially completed paths = 0
KLEE: done: generated tests = 3
linux at localhost:~/tests/klee_dev>
any idea how to solve the opaque pointer error without using the older
clang-14?
More information about the klee-dev
mailing list