authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-07-22 13:28:21-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-07-22 14:26:17-07:00
log61ad1be6bd7d27f79773e7da891898449a45a80e
tree1f7efe3f1e4fc6b1b910487b306ea8b122bcddc1
parent1cb994899db9cc173982ce9bce4099059e2700af

fix macho linker integration with libfuzzer


1 files changed, 4 insertions(+), 5 deletions(-)

src/link/MachO.zig+4-5
...@@ -465,11 +465,6 @@ pub fn flushModule(self: *MachO, arena: Allocator, tid: Zcu.PerThread.Id, prog_n...@@ -465,11 +465,6 @@ pub fn flushModule(self: *MachO, arena: Allocator, tid: Zcu.PerThread.Id, prog_n
465 };465 };
466 }466 }
467467
468 if (comp.fuzzer_lib) |fuzzer_lib| {
469 _ = fuzzer_lib.full_object_path;
470 log.err("TODO macho linking code for adding libfuzzer", .{});
471 }
472
473 // Finally, link against compiler_rt.468 // Finally, link against compiler_rt.
474 const compiler_rt_path: ?[]const u8 = blk: {469 const compiler_rt_path: ?[]const u8 = blk: {
475 if (comp.compiler_rt_lib) |x| break :blk x.full_object_path;470 if (comp.compiler_rt_lib) |x| break :blk x.full_object_path;
...@@ -767,6 +762,10 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void {...@@ -767,6 +762,10 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void {
767 try argv.appendSlice(&.{ "-rpath", std.fs.path.dirname(path) orelse "." });762 try argv.appendSlice(&.{ "-rpath", std.fs.path.dirname(path) orelse "." });
768 }763 }
769764
765 if (comp.config.any_fuzz) {
766 try argv.append(comp.fuzzer_lib.?.full_object_path);
767 }
768
770 for (self.lib_dirs) |lib_dir| {769 for (self.lib_dirs) |lib_dir| {
771 const arg = try std.fmt.allocPrint(arena, "-L{s}", .{lib_dir});770 const arg = try std.fmt.allocPrint(arena, "-L{s}", .{lib_dir});
772 try argv.append(arg);771 try argv.append(arg);