* sparc-nat.c (fetch_inferior_registers): Don't rely
authorJakub Jelinek <jakub@redhat.com>
Mon, 26 Nov 2001 16:42:11 +0000 (16:42 +0000)
committerJakub Jelinek <jakub@redhat.com>
Mon, 26 Nov 2001 16:42:11 +0000 (16:42 +0000)
on CORE_ADDR being 32-bit.
(store_inferior_registers): Likewise.

gdb/ChangeLog
gdb/sparc-nat.c

index 769e554bb1beb9d609d07ef20b7c85ce3aac91eb..5828b50c065ce122bd4e78d1afffde9c881cdac7 100644 (file)
@@ -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"
index bb75e1f8534101fb7ffe8903fd70b2eacd19207d..f628b0eb998676b3bea470fee7195e73fe725ca6 100644 (file)
@@ -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)
        {