From 2389f677f40a064417d0992f7bfff22b7eebf021 Mon Sep 17 00:00:00 2001 From: "Dongjia \"toka\" Zhang" Date: Sat, 27 Aug 2022 15:51:11 +0200 Subject: [PATCH] OSX force_load option (#743) * Update clang.rs * fmt --- libafl_cc/src/clang.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libafl_cc/src/clang.rs b/libafl_cc/src/clang.rs index 20c3db279a..875febece9 100644 --- a/libafl_cc/src/clang.rs +++ b/libafl_cc/src/clang.rs @@ -264,7 +264,10 @@ impl CompilerWrapper for ClangWrapper { if cfg!(unix) { if cfg!(target_vendor = "apple") { - self.add_link_arg(lib_file) + // Same as --whole-archive on linux + // Without this option, the linker picks the first symbols it finds and does not care if it's a weak or a strong symbol + // See: + self.add_link_arg("-Wl,-force_load").add_link_arg(lib_file) } else { self.add_link_arg("-Wl,--whole-archive") .add_link_arg(lib_file)