uClibc for KLEEの修正版です。 uClibc については、README を参照してください。
KLEE 用の uClibc をビルドするには:
llvm-config
PATH にあることを確認してください (または--with-llvm-config
を使用して設定してください)。 llvm-config
で使用される LLVM バージョンは、手順 2 で使用する C LLVM ビットコード コンパイラで使用される LLVM バージョンと一致する必要があります。
次のいずれかの C LLVM コンパイラがあることを確認してください。
clang
( llvm-config --bindir
)PATH
でclang
使用する C コンパイラは、最初に動作するコンパイラから上記の順序で検索されます。
CC 環境変数を使用するか、configure スクリプトで--with-cc
使用することによって、特定の C コンパイラを強制することもできます。
構成スクリプトを実行します。
$ ./configure --make-llvm-lib
すべてのオプションを実行するには
$ ./configure --help
デフォルトでは、uClibc 事前構築済み.config
ファイルが、configure スクリプトによって uClibc ルート ディレクトリに追加されます。これは、ユーザーがコンパイルを容易にするために行われます。ただし、 --disable-prebuilt-config フラグを使用すると、 .config
ファイルが追加されないようにすることができます。独自の.config
を作成したい場合は、configure スクリプトの実行後にmake menuconfig
またはmake config
実行することで作成できます。
コンパイル
$ make
上記の make 行の最後にKLEE_CFLAGS=...
を追加して実行することで、オプションのフラグを追加することもできます。特に、デフォルトで除外されている printf をコンパイルするには、以下を使用します。
make KLEE_CFLAGS="-DKLEE_SYM_PRINTF"
最適化モードでコンパイルするには、 --enable-release
フラグを使用します。これを行うと壊れる可能性があることを警告します。