authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-03 18:02:56+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-05 07:18:50+02:00
log30f5258fe60cd5209fdfb44bd060f36435cb47b0
tree3a28764389e6dc1f69b06d6f432091d2049b767c
parent906ce2ad7cb3960eb579ab46b79dff3b9eae1ef5

std.debug.SelfInfo.Elf: disable unwinding on mips n32 and x86 x32

The DWARF code can't handle these yet. ref https://github.com/ziglang/zig/issues/25447

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

lib/std/debug/SelfInfo/Elf.zig+10
......@@ -81,6 +81,16 @@ pub fn getModuleName(si: *SelfInfo, gpa: Allocator, address: usize) Error![]cons
8181}
8282
8383pub const can_unwind: bool = s: {
84 // The DWARF code can't deal with ILP32 ABIs yet: https://github.com/ziglang/zig/issues/25447
85 switch (builtin.target.abi) {
86 .gnuabin32,
87 .muslabin32,
88 .gnux32,
89 .muslx32,
90 => break :s false,
91 else => {},
92 }
93
8494 // Notably, we are yet to support unwinding on ARM. There, unwinding is not done through
8595 // `.eh_frame`, but instead with the `.ARM.exidx` section, which has a different format.
8696 const archs: []const std.Target.Cpu.Arch = switch (builtin.target.os.tag) {