authorgravatar for mason@gamesbymason.comMason Remaley <mason@gamesbymason.com> 2026-04-09 16:33:15-07:00
committergravatar for mason@gamesbymason.comMason Remaley <mason@gamesbymason.com> 2026-04-12 04:01:30-07:00
log492efd4c06541ca8add4147dfc2d766c1ba54693
treed9f3ba8dfe3cb17715b743b9325754fc742c7093
parentc2cbb944ba377db141e3dc5a890d955932accea2

Adds support for running stack and error trace tests through Wine

Also fixes minor bug that was preventing existing tests from passing on 32 bit Windows

2 files changed, 19 insertions(+), 5 deletions(-)

lib/std/debug/SelfInfo/Windows.zig+1-1
...@@ -368,7 +368,7 @@ const Module = struct {...@@ -368,7 +368,7 @@ const Module = struct {
368 /// iteration, e.g. because they only wanted the topmost call.368 /// iteration, e.g. because they only wanted the topmost call.
369 inline_sites: std.ArrayList(*align(1) const std.pdb.InlineSiteSym),369 inline_sites: std.ArrayList(*align(1) const std.pdb.InlineSiteSym),
370 },370 },
371 dwarf: struct { addr: usize },371 dwarf: struct { addr: u64 },
372 none: void,372 none: void,
373373
374 fn init(di: *DebugInfo, vaddr: usize) Error!Symbols {374 fn init(di: *DebugInfo, vaddr: usize) Error!Symbols {
test/tests.zig+18-4
...@@ -2016,10 +2016,24 @@ fn nativeAndCompatible32bit(b: *std.Build, skip_non_native: bool) []const std.Bu...@@ -2016,10 +2016,24 @@ fn nativeAndCompatible32bit(b: *std.Build, skip_non_native: bool) []const std.Bu
2016 },2016 },
2017 else => return only_native,2017 else => return only_native,
2018 };2018 };
2019 return b.graph.arena.dupe(std.Build.ResolvedTarget, &.{2019 var targets = std.ArrayList(std.Build.ResolvedTarget).initCapacity(b.graph.arena, 2)
2020 b.graph.host,2020 catch @panic("OOM");
2021 b.resolveTargetQuery(.{ .cpu_arch = arch32, .os_tag = host.os.tag }),2021 targets.appendAssumeCapacity(b.graph.host);
2022 }) catch @panic("OOM");2022 targets.appendAssumeCapacity(b.resolveTargetQuery(.{
2023 .cpu_arch = arch32,
2024 .os_tag = host.os.tag,
2025 }));
2026 if (b.enable_wine and b.graph.host.result.os.tag != .windows) {
2027 targets.append(b.graph.arena, b.resolveTargetQuery(.{
2028 .cpu_arch = host.cpu.arch,
2029 .os_tag = .windows,
2030 })) catch @panic("OOM");
2031 targets.append(b.graph.arena, b.resolveTargetQuery(.{
2032 .cpu_arch = arch32,
2033 .os_tag = .windows,
2034 })) catch @panic("OOM");
2035 }
2036 return targets.toOwnedSlice(b.graph.arena) catch @panic("OOM");
2023}2037}
20242038
2025pub fn addStackTraceTests(2039pub fn addStackTraceTests(