aboutsummaryrefslogtreecommitdiff
path: root/gdb/sparc-tdep.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-09-26 09:04:24 +0000
committerJohn Gilmore <gnu@cygnus>1992-09-26 09:04:24 +0000
commitb38f304c4fc12ec5c3d496cb908ad2d2703d67ad (patch)
treeb688c1014731d4d881c7e0e2c7214954b6bb3ac5 /gdb/sparc-tdep.c
parent165410d11ff0f0ec7f8e5dcb1904fbbceb42c132 (diff)
downloadgdb-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.c22
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 *) &registers[REGISTER_BYTE (regi)];
+ *(regp + regi) = *(int *) &registers[REGISTER_BYTE (regi)];
}
}
if ((regno == -1) || (regno == PS_REGNUM))
@@ -784,7 +792,7 @@ int regno;
{
from = (char *) &registers[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))