diff options
author | Stu Grossman <grossman@cygnus> | 1994-04-08 22:37:35 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1994-04-08 22:37:35 +0000 |
commit | 790a14a88bf241e859549e6a6e4cb47024efcf73 (patch) | |
tree | 58f9c50f53cbd8fdb1f61fa13c00617ff0ad2128 /gdb | |
parent | a110a1c30b663050717ad862891a159bcd4d2b0d (diff) | |
download | fsf-binutils-gdb-790a14a88bf241e859549e6a6e4cb47024efcf73.zip fsf-binutils-gdb-790a14a88bf241e859549e6a6e4cb47024efcf73.tar.gz fsf-binutils-gdb-790a14a88bf241e859549e6a6e4cb47024efcf73.tar.bz2 |
* lynx-nat.c: Restore regmap structure for SPARC. It's needed
for core files.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/lynx-nat.c | 77 |
2 files changed, 80 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index df31141c..d0cf89b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Fri Apr 8 15:35:30 1994 Stu Grossman (grossman at cygnus.com) + + * lynx-nat.c: Restore regmap structure for SPARC. It's needed + for core files. + Fri Apr 8 14:53:35 1994 Jim Kingdon (kingdon@deneb.cygnus.com) * values.c (unpack_long): Remove obsolete comment about using a diff --git a/gdb/lynx-nat.c b/gdb/lynx-nat.c index 1b40cbd..394fd68 100644 --- a/gdb/lynx-nat.c +++ b/gdb/lynx-nat.c @@ -53,7 +53,7 @@ static int regmap[] = X(fault), /* we just substitute these two in the hopes that they are useful. */ }; -#endif +#endif /* I386 */ #ifdef M68K /* Mappings from tm-m68k.h */ @@ -94,7 +94,80 @@ static int regmap[] = X(ssw), /* fpcode */ X(fault), /* fpflags */ }; -#endif +#endif /* M68K */ + +#ifdef SPARC +/* Mappings from tm-sparc.h */ + +#define FX(ENTRY)(offsetof(struct fcontext, ENTRY)) + +static int regmap[] = +{ + -1, /* g0 */ + X(g1), + X(g2), + X(g3), + X(g4), + -1, /* g5->g7 aren't saved by Lynx */ + -1, + -1, + + X(o[0]), + X(o[1]), + X(o[2]), + X(o[3]), + X(o[4]), + X(o[5]), + X(o[6]), /* sp */ + X(o[7]), /* ra */ + + -1,-1,-1,-1,-1,-1,-1,-1, /* l0 -> l7 */ + + -1,-1,-1,-1,-1,-1,-1,-1, /* i0 -> i7 */ + + FX(f.fregs[0]), /* f0 */ + FX(f.fregs[1]), + FX(f.fregs[2]), + FX(f.fregs[3]), + FX(f.fregs[4]), + FX(f.fregs[5]), + FX(f.fregs[6]), + FX(f.fregs[7]), + FX(f.fregs[8]), + FX(f.fregs[9]), + FX(f.fregs[10]), + FX(f.fregs[11]), + FX(f.fregs[12]), + FX(f.fregs[13]), + FX(f.fregs[14]), + FX(f.fregs[15]), + FX(f.fregs[16]), + FX(f.fregs[17]), + FX(f.fregs[18]), + FX(f.fregs[19]), + FX(f.fregs[20]), + FX(f.fregs[21]), + FX(f.fregs[22]), + FX(f.fregs[23]), + FX(f.fregs[24]), + FX(f.fregs[25]), + FX(f.fregs[26]), + FX(f.fregs[27]), + FX(f.fregs[28]), + FX(f.fregs[29]), + FX(f.fregs[30]), + FX(f.fregs[31]), + + X(y), + X(psr), + X(wim), + X(tbr), + X(pc), + X(npc), + FX(fsr), /* fpsr */ + -1, /* cpsr */ +}; +#endif /* SPARC */ #ifdef rs6000 |