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 환경 변수를 사용하거나 구성 스크립트와 함께 --with-cc
사용하여 특정 C 컴파일러를 강제로 적용할 수도 있습니다.
구성 스크립트를 실행합니다.
$ ./configure --make-llvm-lib
모든 옵션 실행을 보려면
$ ./configure --help
기본적으로 uClibc 사전 구축 .config
파일은 구성 스크립트에 의해 uClibc 루트 디렉토리에 추가됩니다. 이는 사용자가 더 쉽게 컴파일할 수 있도록 하기 위한 것입니다. 그러나 --disable-prebuild-config 플래그를 사용하면 .config
파일이 추가되는 것을 방지할 수 있습니다. 자신만의 .config
생성하려면 make menuconfig
실행하거나 구성 스크립트를 실행한 후 make config
실행하면 됩니다.
엮다
$ make
위의 make 라인 끝에 KLEE_CFLAGS=...
를 추가하여 선택적 플래그를 추가할 수도 있습니다. 특히 기본적으로 제외되는 printf를 컴파일하려면 다음을 사용하십시오.
make KLEE_CFLAGS="-DKLEE_SYM_PRINTF"
최적화 모드에서 컴파일하려면 --enable-release
플래그를 사용하세요. 이렇게 하면 경고 내용이 깨질 수 있습니다.