fix macho linker integration with libfuzzer

This commit is contained in:
Andrew Kelley 2024-07-22 13:28:21 -07:00
parent 1cb994899d
commit 61ad1be6bd

View File

@ -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);