diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-06-13 18:47:58 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-06-13 18:47:58 +0000 |
commit | 822b65708d4030ccb4fd2a979de5292f730e30b8 (patch) | |
tree | fb06d73c9429eb083bee074143a9292126d709ec /gdb/mips-linux-tdep.h | |
parent | f8b73d13b7ca749dee450b60e4e401b4c096bed6 (diff) | |
download | gdb-822b65708d4030ccb4fd2a979de5292f730e30b8.zip gdb-822b65708d4030ccb4fd2a979de5292f730e30b8.tar.gz gdb-822b65708d4030ccb4fd2a979de5292f730e30b8.tar.bz2 |
* 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.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/mips-linux-tdep.h b/gdb/mips-linux-tdep.h index 213a745..764208a 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); |