klee uclibc
v1.4
這是 uClibc for KLEE 的修改版本。有關 uClibc 的信息,請參閱自述文件。
要為 KLEE 建置 uClibc:
確保llvm-config
在您的 PATH 中(或使用--with-llvm-config
設定)。 llvm-config
使用的 LLVM 版本應與您打算在步驟 2 中使用的 C LLVM 位元程式碼編譯器所使用的 LLVM 版本相符。
確保您擁有以下 C LLVM 編譯器之一
clang
內建於 LLVM 工具目錄 ( llvm-config --bindir
)PATH
中clang
將按照上述順序尋找要使用的 C 編譯器,並使用第一個工作編譯器。
請注意,您也可以透過使用 CC 環境變數或在配置腳本中使用--with-cc
來強制使用特定的 C 編譯器。
運行配置腳本。
$ ./configure --make-llvm-lib
查看所有運行選項
$ ./configure --help
預設情況下,設定腳本將會將 uClibc 預先建置的.config
檔加入到 uClibc 根目錄中。這樣做是為了讓使用者更容易編譯。但是,可以使用 --disable-prebuilt-config 標誌來阻止新增.config
檔。如果您希望建立自己的.config
可以透過在執行設定腳本後執行make menuconfig
或make config
來實現。
編譯
$ make
您也可以透過執行將KLEE_CFLAGS=...
新增到上面 make 行的末尾來新增可選標誌。特別是,要編譯預設排除的 printf,請使用:
make KLEE_CFLAGS="-DKLEE_SYM_PRINTF"
若要在最佳化模式下編譯,請使用--enable-release
標誌。警告如果您這樣做,事情可能會崩潰。