From 2f240d0819b99999964ad2cee9193dc3d7b1df28 Mon Sep 17 00:00:00 2001 From: Harold Date: Sat, 15 Nov 2025 13:50:15 +0100 Subject: [PATCH] std.Build.Step.Compile: add support for '-z defs' flag --- lib/std/Build/Step/Compile.zig | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig index 85257b9560..7dd9c17273 100644 --- a/lib/std/Build/Step/Compile.zig +++ b/lib/std/Build/Step/Compile.zig @@ -135,6 +135,9 @@ link_z_common_page_size: ?u64 = null, /// Maximum page size link_z_max_page_size: ?u64 = null, +/// Force a fatal error if any undefined symbols remain. +link_z_defs: bool = false, + /// (Darwin) Install name for the dylib install_name: ?[]const u8 = null, @@ -1550,6 +1553,10 @@ fn getZigArgs(compile: *Compile, fuzz: bool) ![][]const u8 { try zig_args.append("-z"); try zig_args.append(b.fmt("max-page-size={d}", .{size})); } + if (compile.link_z_defs) { + try zig_args.append("-z"); + try zig_args.append("defs"); + } if (compile.libc_file) |libc_file| { try zig_args.append("--libc");