Ini adalah versi modifikasi dari uClibc untuk KLEE. Silakan lihat README untuk informasi tentang uClibc.
Untuk membangun uClibc untuk KLEE:
Pastikan llvm-config
ada di PATH Anda (atau atur menggunakan --with-llvm-config
). Versi LLVM yang digunakan oleh llvm-config
harus cocok dengan versi LLVM yang digunakan oleh kompiler Bitcode C LLVM yang ingin Anda gunakan pada langkah 2.
Pastikan Anda memiliki salah satu kompiler C LLVM berikut
clang
dibangun di direktori alat LLVM ( llvm-config --bindir
)clang
di PATH
AndaKompiler C yang akan digunakan akan dicari dalam urutan di atas dengan kompiler kerja pertama yang digunakan.
Catatan Anda juga dapat memaksa kompiler C tertentu dengan menggunakan variabel lingkungan CC atau dengan menggunakan --with-cc
dengan skrip konfigurasi.
Jalankan skrip konfigurasi.
$ ./configure --make-llvm-lib
Untuk melihat semua opsi dijalankan
$ ./configure --help
Secara default, file .config
pra-bangun uClibc akan ditambahkan ke direktori root uClibc dengan skrip konfigurasi. Hal ini dilakukan untuk memudahkan kompilasi bagi pengguna. Namun flag --disable-prebuilt-config dapat digunakan untuk mencegah penambahan file .config
. Jika Anda ingin membuat .config
sendiri, Anda dapat melakukannya dengan menjalankan make menuconfig
atau make config
setelah menjalankan skrip konfigurasi.
Menyusun
$ make
Anda juga dapat menambahkan tanda opsional dengan menjalankan penambahan KLEE_CFLAGS=...
di akhir baris make di atas. Khususnya, untuk mengkompilasi printf, yang dikecualikan secara default, gunakan:
make KLEE_CFLAGS="-DKLEE_SYM_PRINTF"
Untuk mengkompilasi dalam mode optimal, gunakan flag --enable-release
. Hal-hal peringatan mungkin rusak jika Anda melakukan ini.