summaryrefslogtreecommitdiff
path: root/gdb/mips-linux-tdep.h
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2007-06-13 18:47:58 +0000
committerDaniel Jacobowitz <dan@debian.org>2007-06-13 18:47:58 +0000
commit1d3b46a43e49f76e7784e5f98f04594e30a95629 (patch)
tree7016a7feabb642ae2e3d6260a1a4c6d23715e264 /gdb/mips-linux-tdep.h
parentce3b14b7917ffa57ae889030f6916b0427c9355c (diff)
downloadgdb-1d3b46a43e49f76e7784e5f98f04594e30a95629.tar.gz
* config/mips/linux.mh (TDEP_XML): New.
* features/mips-linux.xml, features/mips64-linux.xml: New files. * mips-linux-nat.c (mips_linux_register_addr): Handle MIPS_RESTART_REGNUM. (mips64_linux_register_addr): Likewise. (super_xfer_partial, mips_linux_xfer_partial): New. (_initialize_mips_linux_nat): Add them to the target_ops. * mips-linux-tdep.c (mips_supply_gregset): Handle MIPS_RESTART_REGNUM. (mips_fill_gregset, mips64_supply_gregset, mips64_fill_gregset) (mips_linux_o32_sigframe_init) (mips_linux_n32n64_sigframe_init): Likewise. (mips_linux_write_pc, mips_linux_restart_reg_p): New. (mips_linux_init_abi): Use mips_linux_write_pc. Check for the "org.gnu.gdb.mips.linux" feature. * mips-linux-tdep.h (MIPS_RESTART_REGNUM): New constant. (mips_linux_restart_reg_p): New prototype. * mips-tdep.c (mips_gdbarch_init): Pass tdesc_data to the OS/ABI initialization routine. * Makefile.in (mips-linux-tdep.o, mips-linux-nat.o): Update. * gdb.texinfo (MIPS Features): Document org.gnu.gdb.mips.linux.
Diffstat (limited to 'gdb/mips-linux-tdep.h')
-rw-r--r--gdb/mips-linux-tdep.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/mips-linux-tdep.h b/gdb/mips-linux-tdep.h
index 213a745e2bc..764208ae0f5 100644
--- a/gdb/mips-linux-tdep.h
+++ b/gdb/mips-linux-tdep.h
@@ -92,3 +92,13 @@ void mips64_supply_gregset (struct regcache *, const mips64_elf_gregset_t *);
void mips64_fill_gregset (const struct regcache *, mips64_elf_gregset_t *, int);
void mips64_supply_fpregset (struct regcache *, const mips64_elf_fpregset_t *);
void mips64_fill_fpregset (const struct regcache *, mips64_elf_fpregset_t *, int);
+
+enum {
+ /* The Linux kernel stores an error code from any interrupted
+ syscall in a "register" (in $0's save slot). */
+ MIPS_RESTART_REGNUM = MIPS_LAST_EMBED_REGNUM + 1
+};
+
+/* Return 1 if MIPS_RESTART_REGNUM is usable. */
+
+int mips_linux_restart_reg_p (struct gdbarch *gdbarch);