summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-11-26 16:42:11 +0000
committerJakub Jelinek <jakub@redhat.com>2001-11-26 16:42:11 +0000
commit9180a0c5bb89a56399dd5997c02230e87329122d (patch)
treed7a91e7425b6079a7418fa3e85cede04e38c3cf1
parentb79fccafeab40faff7e1e1b46c93024cb8383907 (diff)
downloadgdb-9180a0c5bb89a56399dd5997c02230e87329122d.tar.gz
* sparc-nat.c (fetch_inferior_registers): Don't rely
on CORE_ADDR being 32-bit. (store_inferior_registers): Likewise.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/sparc-nat.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 769e554bb1b..5828b50c065 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2001-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc-nat.c (fetch_inferior_registers): Don't rely
+ on CORE_ADDR being 32-bit.
+ (store_inferior_registers): Likewise.
+
2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
* config/djgpp/config.sed: Fix an error in etc/ at "make install"
diff --git a/gdb/sparc-nat.c b/gdb/sparc-nat.c
index bb75e1f8534..f628b0eb998 100644
--- a/gdb/sparc-nat.c
+++ b/gdb/sparc-nat.c
@@ -120,15 +120,15 @@ fetch_inferior_registers (int regno)
all (16 ptrace calls!) if we really need them. */
if (regno == -1)
{
- target_read_memory (*(CORE_ADDR *) & registers[REGISTER_BYTE (SP_REGNUM)],
- &registers[REGISTER_BYTE (L0_REGNUM)],
+ CORE_ADDR sp = *(unsigned int *) & registers[REGISTER_BYTE (SP_REGNUM)];
+ target_read_memory (sp, &registers[REGISTER_BYTE (L0_REGNUM)],
16 * REGISTER_RAW_SIZE (L0_REGNUM));
for (i = L0_REGNUM; i <= I7_REGNUM; i++)
register_valid[i] = 1;
}
else if (regno >= L0_REGNUM && regno <= I7_REGNUM)
{
- CORE_ADDR sp = *(CORE_ADDR *) & registers[REGISTER_BYTE (SP_REGNUM)];
+ CORE_ADDR sp = *(unsigned int *) & registers[REGISTER_BYTE (SP_REGNUM)];
i = REGISTER_BYTE (regno);
if (register_valid[regno])
printf_unfiltered ("register %d valid and read\n", regno);
@@ -190,7 +190,7 @@ store_inferior_registers (int regno)
if (wanna_store & STACK_REGS)
{
- CORE_ADDR sp = *(CORE_ADDR *) & registers[REGISTER_BYTE (SP_REGNUM)];
+ CORE_ADDR sp = *(unsigned int *) & registers[REGISTER_BYTE (SP_REGNUM)];
if (regno < 0 || regno == SP_REGNUM)
{