diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index cc25331022..be3f9b9aca 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -593,11 +593,11 @@ jobs: run: cargo build --verbose - name: Build docs run: cargo doc + - uses: ilammy/msvc-dev-cmd@v1 - name: Set LIBCLANG_PATH run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV - name: install cargo-make run: cargo install --force cargo-make - - uses: ilammy/msvc-dev-cmd@v1 - name: install cxx bridge run: cargo install cxxbridge-cmd - name: Build fuzzers/libfuzzer_stb_image diff --git a/fuzzers/libfuzzer_windows_asan/src/bin/libafl_cc.rs b/fuzzers/libfuzzer_windows_asan/src/bin/libafl_cc.rs index 53610b57cb..82aa485d3f 100644 --- a/fuzzers/libfuzzer_windows_asan/src/bin/libafl_cc.rs +++ b/fuzzers/libfuzzer_windows_asan/src/bin/libafl_cc.rs @@ -30,6 +30,7 @@ pub fn main() { .expect("Failed to parse the command line") .link_staticlib(&dir, "libfuzzer_windows_asan") .add_arg("-lOleAut32.lib") + .add_arg("-lntdll.lib") .add_arg("-fsanitize-coverage=trace-pc-guard") .add_arg("-fsanitize=address") .run() diff --git a/libafl_cc/build.rs b/libafl_cc/build.rs index 9d9a84c757..d0bb165dcc 100644 --- a/libafl_cc/build.rs +++ b/libafl_cc/build.rs @@ -256,7 +256,7 @@ fn main() { && llvm_version.is_ok()) { println!( - "cargo:warning=Failed to find llvm-config, we will not build LLVM passes. If you need them, set the LLVM_CONFIG environment variable to a recent llvm-config." + "cargo:warning=Failed to find llvm-config, we will not build LLVM passes. If you need them, set the LLVM_CONFIG environment variable to a recent llvm-config, else just ignore this message." ); write!( diff --git a/libafl_targets/src/libfuzzer.c b/libafl_targets/src/libfuzzer.c index eea3228090..094a028c97 100644 --- a/libafl_targets/src/libfuzzer.c +++ b/libafl_targets/src/libfuzzer.c @@ -48,7 +48,11 @@ int main(int argc, char **argv) { libafl_main(); return 0; } + #ifdef FUZZER_DEFINE_RUN_DRIVER return LLVMFuzzerRunDriver(&argc, &argv, &LLVMFuzzerTestOneInput); + #else + return 0; + #endif } #endif #endif