From 0d947ae87a2280d6f4acec16cf2307d11aed03e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sun, 9 Aug 2026 05:08:36 +0200 Subject: [PATCH] std.debug: use a different register number for pc on sparc Also report the floating-point registers as unsupported rather than invalid. --- lib/std/debug/Dwarf.zig | 2 +- lib/std/debug/cpu_context.zig | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/std/debug/Dwarf.zig b/lib/std/debug/Dwarf.zig index 2d6e2204a340effe84ef4d2c00f1b87ea5cc1a5c..525e9ce078882cc4fb8013762e323579a1d05126 100644 --- a/lib/std/debug/Dwarf.zig +++ b/lib/std/debug/Dwarf.zig @@ -1462,7 +1462,7 @@ pub fn ipRegNum(arch: std.Target.Cpu.Arch) ?u16 { .powerpc, .powerpcle, .powerpc64, .powerpc64le => 67, .riscv32, .riscv32be, .riscv64, .riscv64be => 65, .s390x => 65, - .sparc, .sparc64 => 32, + .sparc, .sparc64 => 65, .ve => 144, .x86 => 8, .x86_64 => 16, diff --git a/lib/std/debug/cpu_context.zig b/lib/std/debug/cpu_context.zig index 6579ade9f4ca749170294c5a03cf91a9a4b7e3a8..a0c50743465ccfcc0a68dd91589a6fade3da7e28 100644 --- a/lib/std/debug/cpu_context.zig +++ b/lib/std/debug/cpu_context.zig @@ -1613,7 +1613,11 @@ const Sparc = extern struct { 8...15 => return @ptrCast(&ctx.o[register_num - 8]), 16...23 => return @ptrCast(&ctx.l[register_num - 16]), 24...31 => return @ptrCast(&ctx.i[register_num - 24]), - 32 => return @ptrCast(&ctx.pc), + 65 => return @ptrCast(&ctx.pc), + + 32...63 => return error.UnsupportedRegister, // F0-F31 + 64 => return error.UnsupportedRegister, // Y + 72...87 => return error.UnsupportedRegister, // D0-D15 else => return error.InvalidRegister, } -- 2.54.0