diff options
author | John Gilmore <gnu@cygnus> | 1992-09-26 09:04:24 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1992-09-26 09:04:24 +0000 |
commit | b38f304c4fc12ec5c3d496cb908ad2d2703d67ad (patch) | |
tree | b688c1014731d4d881c7e0e2c7214954b6bb3ac5 /gdb/sparc-tdep.c | |
parent | 165410d11ff0f0ec7f8e5dcb1904fbbceb42c132 (diff) | |
download | gdb-b38f304c4fc12ec5c3d496cb908ad2d2703d67ad.zip gdb-b38f304c4fc12ec5c3d496cb908ad2d2703d67ad.tar.gz gdb-b38f304c4fc12ec5c3d496cb908ad2d2703d67ad.tar.bz2 |
* putenv.c: index -> strchr.
* regex.c: Always rename bcopy to memcpy, etc.
FIXME: Eventually do the renames rather than use #define's.
* sparc-tdep.c (deferred_stores): Moved from sparc-xdep.c.
Fix bcopy->memcpy.
* sparc-xdep.c: Move deferred_stores to target dependent.
Diffstat (limited to 'gdb/sparc-tdep.c')
-rw-r--r-- | gdb/sparc-tdep.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index 3bafd6a..acb26dd 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -35,6 +35,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* From infrun.c */ extern int stop_after_trap; +/* We don't store all registers immediately when requested, since they + get sent over in large chunks anyway. Instead, we accumulate most + of the changes and send them over once. "deferred_stores" keeps + track of which sets of registers we have locally-changed copies of, + so we only need send the groups that have changed. */ + +int deferred_stores = 0; /* Cumulates stores we want to do eventually. */ + typedef enum { Error, not_branch, bicc, bicca, ba, baa, ticc, ta @@ -227,7 +235,7 @@ static int save_insn_opcodes[] = { /* Neither do_save_insn or do_restore_insn save stack configuration (current_frame, etc), since the stack is in an indeterminate state through the call to - each of them. That responsibility of the routine which calls them. */ + each of them. That is the responsibility of the routine which calls them. */ static void do_save_insn (size) @@ -464,7 +472,7 @@ sparc_frame_find_saved_regs (fi, saved_regs_addr) if (!fid) fatal ("Bad frame info struct in FRAME_FIND_SAVED_REGS"); - (void) memset (saved_regs_addr, 0, sizeof (*saved_regs_addr)); + memset (saved_regs_addr, 0, sizeof (*saved_regs_addr)); /* Old test. if (fi->pc >= frame - CALL_DUMMY_LENGTH - 0x140 @@ -692,13 +700,13 @@ void supply_gregset (gregsetp) prgregset_t *gregsetp; { - register int regno; + register int regi; register prgreg_t *regp = (prgreg_t *) gregsetp; /* GDB register numbers for Gn, On, Ln, In all match /proc reg numbers. */ - for (regno = G0_REGNUM ; regno <= I7_REGNUM ; regno++) + for (regi = G0_REGNUM ; regi <= I7_REGNUM ; regi++) { - supply_register (regno, (char *) (regp + regno)); + supply_register (regi, (char *) (regp + regi)); } /* These require a bit more care. */ @@ -721,7 +729,7 @@ int regno; { if ((regno == -1) || (regno == regi)) { - *(regp + regno) = *(int *) ®isters[REGISTER_BYTE (regi)]; + *(regp + regi) = *(int *) ®isters[REGISTER_BYTE (regi)]; } } if ((regno == -1) || (regno == PS_REGNUM)) @@ -784,7 +792,7 @@ int regno; { from = (char *) ®isters[REGISTER_BYTE (regi)]; to = (char *) &fpregsetp->pr_fr.pr_regs[regi-FP0_REGNUM]; - bcopy (from, to, REGISTER_RAW_SIZE (regno)); + memcpy (to, from, REGISTER_RAW_SIZE (regi)); } } if ((regno == -1) || (regno == FPS_REGNUM)) |