From 61ad1be6bd7d27f79773e7da891898449a45a80e Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 22 Jul 2024 13:28:21 -0700 Subject: [PATCH] fix macho linker integration with libfuzzer --- src/link/MachO.zig | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 4c7b7c3066803e7e14363713750098712384fd98..1b4a80e6fcdf0a6a7195276dce6aabf84523378d 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -465,11 +465,6 @@ pub fn flushModule(self: *MachO, arena: Allocator, tid: Zcu.PerThread.Id, prog_n }; } - if (comp.fuzzer_lib) |fuzzer_lib| { - _ = fuzzer_lib.full_object_path; - log.err("TODO macho linking code for adding libfuzzer", .{}); - } - // Finally, link against compiler_rt. const compiler_rt_path: ?[]const u8 = blk: { if (comp.compiler_rt_lib) |x| break :blk x.full_object_path; @@ -767,6 +762,10 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void { try argv.appendSlice(&.{ "-rpath", std.fs.path.dirname(path) orelse "." }); } + if (comp.config.any_fuzz) { + try argv.append(comp.fuzzer_lib.?.full_object_path); + } + for (self.lib_dirs) |lib_dir| { const arg = try std.fmt.allocPrint(arena, "-L{s}", .{lib_dir}); try argv.append(arg); -- 2.54.0