From 9cd37a06965f1993f6e70ca3f10008d02f77334b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Tue, 7 Oct 2025 08:46:43 +0200 Subject: [PATCH] std.debug.Dwarf: use 66 as the (fake) MIPS PC register 32-63 conflict with the floating point registers. 64 and 65 are used for the ac0 hi/lo registers. --- lib/std/debug/Dwarf.zig | 2 +- lib/std/debug/cpu_context.zig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/std/debug/Dwarf.zig b/lib/std/debug/Dwarf.zig index a6ecd07b23..98d7addb32 100644 --- a/lib/std/debug/Dwarf.zig +++ b/lib/std/debug/Dwarf.zig @@ -1433,7 +1433,7 @@ pub fn ipRegNum(arch: std.Target.Cpu.Arch) ?u16 { .arm, .armeb, .thumb, .thumbeb => 15, .hexagon => 76, .loongarch32, .loongarch64 => 64, - .mips, .mipsel, .mips64, .mips64el => 37, + .mips, .mipsel, .mips64, .mips64el => 66, .powerpc, .powerpcle, .powerpc64, .powerpc64le => 67, .riscv32, .riscv32be, .riscv64, .riscv64be => 65, .s390x => 65, diff --git a/lib/std/debug/cpu_context.zig b/lib/std/debug/cpu_context.zig index 6243131d25..b899d76f1b 100644 --- a/lib/std/debug/cpu_context.zig +++ b/lib/std/debug/cpu_context.zig @@ -810,7 +810,7 @@ pub const Mips = extern struct { pub fn dwarfRegisterBytes(ctx: *Mips, register_num: u16) DwarfRegisterError![]u8 { switch (register_num) { 0...31 => return @ptrCast(&ctx.r[register_num]), - 37 => return @ptrCast(&ctx.pc), + 66 => return @ptrCast(&ctx.pc), else => return error.InvalidRegister, }