Fix libafl_libfuzzer's compatibility with LLVM 14 (#2136)

* Always use Rust's nm instead of host system one

* Fix formatting

* Fix formatting
This commit is contained in:
Max Ammann 2024-05-08 12:53:12 +01:00 committed by GitHub
parent 695efeab42
commit f6d2eaacb4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -93,14 +93,9 @@ fn main() {
let target_libdir = String::from_utf8(target_libdir.stdout).unwrap(); let target_libdir = String::from_utf8(target_libdir.stdout).unwrap();
let target_libdir = Path::new(target_libdir.trim()); let target_libdir = Path::new(target_libdir.trim());
let rust_objcopy = target_libdir.join("../bin/llvm-objcopy"); // NOTE: depends on llvm-tools // NOTE: depends on llvm-tools
let nm = if cfg!(target_os = "macos") { let rust_objcopy = target_libdir.join("../bin/llvm-objcopy");
// NOTE: depends on llvm-tools let nm = target_libdir.join("../bin/llvm-nm");
target_libdir.join("../bin/llvm-nm")
} else {
// NOTE: we use system nm on linux because llvm-nm doesn't respect the encoding?
PathBuf::from("nm")
};
let redefined_archive_path = custom_lib_dir.join("libFuzzer.a"); let redefined_archive_path = custom_lib_dir.join("libFuzzer.a");
let redefined_symbols = custom_lib_dir.join("redefs.txt"); let redefined_symbols = custom_lib_dir.join("redefs.txt");