std.debug.Dwarf: use 64 as the (fake) LoongArch PC register

32-63 conflict with the floating point registers.
This commit is contained in:
Alex Rønne Petersen 2025-10-07 00:39:56 +02:00
parent aa74eb505a
commit 9a6fad2706
No known key found for this signature in database
2 changed files with 2 additions and 2 deletions

View File

@ -1432,7 +1432,7 @@ pub fn ipRegNum(arch: std.Target.Cpu.Arch) ?u16 {
.aarch64, .aarch64_be => 32,
.arm, .armeb, .thumb, .thumbeb => 15,
.hexagon => 76,
.loongarch32, .loongarch64 => 32,
.loongarch32, .loongarch64 => 64,
.mips, .mipsel, .mips64, .mips64el => 37,
.powerpc, .powerpcle, .powerpc64, .powerpc64le => 357,
.riscv32, .riscv32be, .riscv64, .riscv64be => 32,

View File

@ -700,7 +700,7 @@ pub const LoongArch = extern struct {
pub fn dwarfRegisterBytes(ctx: *LoongArch, register_num: u16) DwarfRegisterError![]u8 {
switch (register_num) {
0...31 => return @ptrCast(&ctx.r[register_num]),
32 => return @ptrCast(&ctx.pc),
64 => return @ptrCast(&ctx.pc),
else => return error.InvalidRegister,
}