authorgravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2023-04-16 22:58:10-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-04-18 18:23:05-07:00
logd2a799c65a7a65df5a66771f41417b6df24834b8
tree23492b30492fa60ecd1402dc01a8c375dd14e4bd
parente82596950f731c0de12997fa7d224b1e0d33c9d3

coff: support allow_shlib_undefined


1 files changed, 6 insertions(+), 0 deletions(-)

src/link/Coff/lld.zig+6
......@@ -95,6 +95,7 @@ pub fn linkWithLLD(self: *Coff, comp: *Compilation, prog_node: *std.Progress.Nod
9595 man.hash.add(self.base.options.tsaware);
9696 man.hash.add(self.base.options.nxcompat);
9797 man.hash.add(self.base.options.dynamicbase);
98 man.hash.addOptional(self.base.options.allow_shlib_undefined);
9899 // strip does not need to go into the linker hash because it is part of the hash namespace
99100 man.hash.addOptional(self.base.options.major_subsystem_version);
100101 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
226227 if (!self.base.options.dynamicbase) {
227228 try argv.append("-dynamicbase:NO");
228229 }
230 if (self.base.options.allow_shlib_undefined) |allow_shlib_undefined| {
231 if (allow_shlib_undefined) {
232 try argv.append("-FORCE:UNRESOLVED");
233 }
234 }
229235
230236 try argv.append(try allocPrint(arena, "-OUT:{s}", .{full_out_path}));
231237