Commit 61ad1be6bd

Andrew Kelley <andrew@ziglang.org>
2024-07-22 22:28:21
fix macho linker integration with libfuzzer
1 parent 1cb9948
Changed files (1)
src
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);