authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-06-09 15:33:04-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-06-09 20:00:59-07:00
log2bf532fc23ec014201bb1e69cb3b44e37e23f14c
treed87c47ac302f67d82d4d9692cf8181925152493f
parentbc36da0cb80eebffbbd86a430b435492e00f8378

stage2: use std.debug.Trace only when explicitly enabled

Because it bumps up the stack space requirements, which is making a test case fail on aarch64 drone CI.

4 files changed, 7 insertions(+), 1 deletions(-)

build.zig+3
......@@ -131,6 +131,7 @@ pub fn build(b: *Builder) !void {
131131 const link_libc = b.option(bool, "force-link-libc", "Force self-hosted compiler to link libc") orelse enable_llvm;
132132 const strip = b.option(bool, "strip", "Omit debug information") orelse false;
133133 const use_zig0 = b.option(bool, "zig0", "Bootstrap using zig0") orelse false;
134 const value_tracing = b.option(bool, "value-tracing", "Enable extra state tracking to help troubleshoot bugs in the compiler (using the std.debug.Trace API)") orelse false;
134135
135136 const mem_leak_frames: u32 = b.option(u32, "mem-leak-frames", "How many stack frames to print when a memory leak occurs. Tests get 2x this amount.") orelse blk: {
136137 if (strip) break :blk @as(u32, 0);
......@@ -353,6 +354,7 @@ pub fn build(b: *Builder) !void {
353354 exe_options.addOption(bool, "enable_tracy", tracy != null);
354355 exe_options.addOption(bool, "enable_tracy_callstack", tracy_callstack);
355356 exe_options.addOption(bool, "enable_tracy_allocation", tracy_allocation);
357 exe_options.addOption(bool, "value_tracing", value_tracing);
356358 exe_options.addOption(bool, "is_stage1", is_stage1);
357359 exe_options.addOption(bool, "omit_stage2", omit_stage2);
358360 if (tracy) |tracy_path| {
......@@ -402,6 +404,7 @@ pub fn build(b: *Builder) !void {
402404 test_cases_options.addOption(bool, "enable_rosetta", b.enable_rosetta);
403405 test_cases_options.addOption(bool, "enable_darling", b.enable_darling);
404406 test_cases_options.addOption(u32, "mem_leak_frames", mem_leak_frames * 2);
407 test_cases_options.addOption(bool, "value_tracing", value_tracing);
405408 test_cases_options.addOption(?[]const u8, "glibc_runtimes_dir", b.glibc_runtimes_dir);
406409 test_cases_options.addOption([:0]const u8, "version", try b.allocator.dupeZ(u8, version));
407410 test_cases_options.addOption(std.SemanticVersion, "semver", semver);
ci/azure/build.zig+2
......@@ -99,6 +99,7 @@ pub fn build(b: *Builder) !void {
9999 const force_gpa = b.option(bool, "force-gpa", "Force the compiler to use GeneralPurposeAllocator") orelse false;
100100 const link_libc = b.option(bool, "force-link-libc", "Force self-hosted compiler to link libc") orelse enable_llvm;
101101 const strip = b.option(bool, "strip", "Omit debug information") orelse false;
102 const value_tracing = b.option(bool, "value-tracing", "Enable extra state tracking to help troubleshoot bugs in the compiler (using the std.debug.Trace API)") orelse false;
102103
103104 const mem_leak_frames: u32 = b.option(u32, "mem-leak-frames", "How many stack frames to print when a memory leak occurs. Tests get 2x this amount.") orelse blk: {
104105 if (strip) break :blk @as(u32, 0);
......@@ -303,6 +304,7 @@ pub fn build(b: *Builder) !void {
303304 exe_options.addOption(bool, "enable_tracy", tracy != null);
304305 exe_options.addOption(bool, "enable_tracy_callstack", tracy_callstack);
305306 exe_options.addOption(bool, "enable_tracy_allocation", tracy_allocation);
307 exe_options.addOption(bool, "value_tracing", value_tracing);
306308 exe_options.addOption(bool, "is_stage1", is_stage1);
307309 exe_options.addOption(bool, "omit_stage2", omit_stage2);
308310 if (tracy) |tracy_path| {
src/Module.zig+1-1
......@@ -2531,7 +2531,7 @@ const TracedOffset = struct {
25312531 x: i32,
25322532 trace: std.debug.Trace = .{},
25332533
2534 const want_tracing = std.debug.Trace.enabled;
2534 const want_tracing = build_options.value_tracing;
25352535};
25362536
25372537/// Resolving a source location into a byte offset may require doing work
src/config.zig.in+1
......@@ -8,6 +8,7 @@ pub const semver = @import("std").SemanticVersion.parse(version) catch unreachab
88pub const enable_logging: bool = @ZIG_ENABLE_LOGGING_BOOL@;
99pub const enable_link_snapshots: bool = false;
1010pub const enable_tracy = false;
11pub const value_tracing = false;
1112pub const is_stage1 = true;
1213pub const skip_non_native = false;
1314pub const omit_stage2: bool = @ZIG_OMIT_STAGE2_BOOL@;