commit 9cd37a06965f1993f6e70ca3f10008d02f77334b (tree)
parent f6403ed5ea05bcdbb55da15ee65204b1c8cdf423
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Tue, 7 Oct 2025 08:46:43 +0200
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.
Diffstat:
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git 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
@@ -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,
}