Module Name: src
Committed By: rin
Date: Wed Aug 23 10:37:46 UTC 2023
Modified Files:
src/external/gpl3/gdb/dist/gdb: mips-netbsd-tdep.c
Log Message:
gdb/mips: Supply zero register as done for other OSes
With this change, gdb/mips 13 becomes working to some extent,
at least for mips{,n}64eb.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/gpl3/gdb/dist/gdb/mips-netbsd-tdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gdb/dist/gdb/mips-netbsd-tdep.c
diff -u src/external/gpl3/gdb/dist/gdb/mips-netbsd-tdep.c:1.1.1.1 src/external/gpl3/gdb/dist/gdb/mips-netbsd-tdep.c:1.2
--- src/external/gpl3/gdb/dist/gdb/mips-netbsd-tdep.c:1.1.1.1 Sun Jul 30 22:44:54 2023
+++ src/external/gpl3/gdb/dist/gdb/mips-netbsd-tdep.c Wed Aug 23 10:37:46 2023
@@ -95,6 +95,8 @@ mipsnbsd_supply_gregset (const struct re
len -= MIPSNBSD_NUM_GREGS * regsize;
mipsnbsd_supply_fpregset (regset, regcache, regnum, regs, len);
}
+ if (regnum == -1 || regnum == MIPS_ZERO_REGNUM)
+ regcache->raw_supply_zeroed (MIPS_ZERO_REGNUM);
}
/* NetBSD/mips register sets. */
@@ -150,6 +152,8 @@ mipsnbsd_supply_reg (struct regcache *re
(i, regs + (i * mips_isa_regsize (gdbarch)));
}
}
+ if (regno == -1 || regno == MIPS_ZERO_REGNUM)
+ regcache->raw_supply_zeroed (MIPS_ZERO_REGNUM);
}
void
@@ -277,8 +281,7 @@ mipsnbsd_get_longjmp_target (frame_info_
static int
mipsnbsd_cannot_fetch_register (struct gdbarch *gdbarch, int regno)
{
- return (regno == MIPS_ZERO_REGNUM
- || regno == mips_regnum (gdbarch)->fp_implementation_revision);
+ return regno == mips_regnum (gdbarch)->fp_implementation_revision;
}
static int