Open
Description
I ran cargo +nightly afl config --build --plugins
successfully in order to use AFL++'s instrumentation passes. When I run cargo afl build
, I get the following error:
error: failed to run LLVM passes: Could not load library '~/.local/share/afl.rs/rustc-1.83.0-nightly-6f4ae0f/afl.rs-0.15.10/afl-llvm/cmplog-instructions-pass.so': dlopen(~/.local/share/afl.rs/rustc-1.83.0-nightly-6f4ae0f/afl.rs-0.15.10/afl-llvm/cmplog-instructions-pass.so, 0x0009): symbol not found in flat namespace '__ZN4llvm17PreservedAnalyses14AllAnalysesKeyE'
There is a similarly named symbol in the share library:
$ llvm-nm ~/.local/share/afl.rs/rustc-1.83.0-nightly-6f4ae0f/afl.rs-0.15.10/afl-llvm/cmplog-instructions-pass.so | rustfilt | grep "PreservedAnalyses"
U _llvm::PreservedAnalyses::AllAnalysesKey
I'm not sure how to resolve this... Maybe I need to install a specific rustc/llvm/afl-rs for them to cooperate? Any help is greatly appreciated!
If I try to build with LLVM 18.1.8 I get: called `Result::unwrap()` on an `Err` value: llvm-config --version output does not contain expected major version (19)
Fwiw, here's where the name appears in the AFLPlusPlus codebase https://github.com/search?q=repo%3AAFLplusplus%2FAFLplusplus+PreservedAnalyses&type=code
Other background that may be useful:
$ llvm-config --version
19.1.1
$ rustup show
active toolchain
----------------
nightly-aarch64-apple-darwin (default)
rustc 1.83.0-nightly (6f4ae0f34 2024-10-08)
$ rustup component add llvm-tools-preview
info: component 'llvm-tools' for target 'aarch64-apple-darwin' is up to date
$ echo $LLVM_CONFIG
llvm-config
Metadata
Metadata
Assignees
Labels
No labels