Crates.io | libafl_cc |
lib.rs | libafl_cc |
version | 0.13.2 |
source | src |
created_at | 2021-04-30 13:30:20.785511 |
updated_at | 2024-07-31 19:59:49.966443 |
description | Commodity library to wrap compilers and link LibAFL |
homepage | |
repository | https://github.com/AFLplusplus/LibAFL/ |
max_upload_size | |
id | 391541 |
size | 253,109 |
LibAFL CC provides the functionalities to write compiler wrappers for LibAFL, by providing to the user a set of compiler extensions useful for instrumentation.
The online documentation for this crate is available here.
Currently, we support LLVM version 11 up to 17, but other versions may work. To install LLVM, use the official download page.
The LLVM tools (including clang, clang++) are needed (newer than LLVM 11.0.0 up to LLVM 17.0.0)
## Start x64 Native Tools Command Prompt for VS 2022
RUN AS ADMINISTRATOR: %comspec% /k "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
## Cloning the LLVM project repo
git clone https://github.com/llvm/llvm-project.git llvm
## Building Clang project first, the CMAKE_INSTALL_PREFIX is important here, make sure to select a folder path that doesn't contain any spaces in it
$ cmake -S llvm\llvm -B build -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=X86 -Thost=x64 -DCMAKE_INSTALL_PREFIX=C:\llvm
$ cd build
$ cmake --build . --target install --config release
## Building lld project first, the CMAKE_INSTALL_PREFIX is important here, make sure to select a folder path that doesn't contain any spaces in it
## Changing back to the previous directory
$ cd ..
$ cmake -S llvm\llvm -B build -DLLVM_ENABLE_PROJECTS=lld -DLLVM_TARGETS_TO_BUILD=X86 -Thost=x64 -DCMAKE_INSTALL_PREFIX=C:\llvm
$ cd build
$ cmake --build . --target install --config release