X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fsh-tdep.h;h=76a6236e256d73ae723156b49eaf0d3b009360e0;hb=c9ac0a72c9f06f2a4e3ed58667608b3008f7346d;hp=6d17ba5892298829c22825268444a57cad197cc6;hpb=01f0fe5e0450edf168c1f612feb93cf588e4e7ea;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h index 6d17ba5892..76a6236e25 100644 --- a/gdb/sh-tdep.h +++ b/gdb/sh-tdep.h @@ -1,12 +1,12 @@ /* Target-specific definition for a Renesas Super-H. - Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, + 2003, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,9 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #ifndef SH_TDEP_H #define SH_TDEP_H @@ -32,6 +30,7 @@ enum ARG0_REGNUM = 4, ARGLAST_REGNUM = 7, FP_REGNUM = 14, + PC_REGNUM = 16, PR_REGNUM = 17, GBR_REGNUM = 18, VBR_REGNUM = 19, @@ -85,6 +84,33 @@ enum }; extern gdbarch_init_ftype sh64_gdbarch_init; -extern void sh64_show_regs (void); +extern void sh64_show_regs (struct frame_info *); +/* This structure describes a register in a core-file. */ +struct sh_corefile_regmap +{ + int regnum; + unsigned int offset; +}; + +struct gdbarch_tdep +{ + /* Non-NULL when debugging from a core file. Provides the offset + where each general-purpose register is stored inside the associated + core file section. */ + struct sh_corefile_regmap *core_gregmap; + /* Non-NULL when debugging from a core file and when FP registers are + available. Provides the offset where each FP register is stored + inside the associated core file section. */ + struct sh_corefile_regmap *core_fpregmap; +}; + +extern struct regset sh_corefile_gregset; + +void sh_corefile_supply_regset (const struct regset *regset, + struct regcache *regcache, + int regnum, const void *regs, size_t len); +void sh_corefile_collect_regset (const struct regset *regset, + const struct regcache *regcache, + int regnum, void *regs, size_t len); #endif /* SH_TDEP_H */