From d2a799c65a7a65df5a66771f41417b6df24834b8 Mon Sep 17 00:00:00 2001 From: kcbanner Date: Sun, 16 Apr 2023 22:58:10 -0400 Subject: [PATCH] coff: support allow_shlib_undefined --- src/link/Coff/lld.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/link/Coff/lld.zig b/src/link/Coff/lld.zig index 01f724ed41..78eb2d39e5 100644 --- a/src/link/Coff/lld.zig +++ b/src/link/Coff/lld.zig @@ -95,6 +95,7 @@ pub fn linkWithLLD(self: *Coff, comp: *Compilation, prog_node: *std.Progress.Nod man.hash.add(self.base.options.tsaware); man.hash.add(self.base.options.nxcompat); man.hash.add(self.base.options.dynamicbase); + man.hash.addOptional(self.base.options.allow_shlib_undefined); // strip does not need to go into the linker hash because it is part of the hash namespace man.hash.addOptional(self.base.options.major_subsystem_version); man.hash.addOptional(self.base.options.minor_subsystem_version); @@ -226,6 +227,11 @@ pub fn linkWithLLD(self: *Coff, comp: *Compilation, prog_node: *std.Progress.Nod if (!self.base.options.dynamicbase) { try argv.append("-dynamicbase:NO"); } + if (self.base.options.allow_shlib_undefined) |allow_shlib_undefined| { + if (allow_shlib_undefined) { + try argv.append("-FORCE:UNRESOLVED"); + } + } try argv.append(try allocPrint(arena, "-OUT:{s}", .{full_out_path}));