zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 61ad1be6bd7d27f79773e7da891898449a45a80e (tree)
parent 1cb994899db9cc173982ce9bce4099059e2700af
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Mon, 22 Jul 2024 13:28:21 -0700

fix macho linker integration with libfuzzer

Diffstat:
Msrc/link/MachO.zig | 9++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git 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);