2002-09-10 Michael Snyder <msnyder@redhat.com>
authorMichael Snyder <msnyder@vmware.com>
Tue, 10 Sep 2002 21:31:18 +0000 (21:31 +0000)
committerMichael Snyder <msnyder@vmware.com>
Tue, 10 Sep 2002 21:31:18 +0000 (21:31 +0000)
* mips-tdep.c (mips_extract_struct_value_address): Make val a
LONGEST, and use signed register read (addresses are sign-
extended for mips).

gdb/ChangeLog
gdb/mips-tdep.c

index 49012e3e17678c3b01be14fd2452a686e63e5c8a..9ca1a562da723824bfcd071576ffade51a6368f8 100644 (file)
@@ -1,3 +1,9 @@
+2002-09-10  Michael Snyder  <msnyder@redhat.com>
+
+       * mips-tdep.c (mips_extract_struct_value_address): Make val a
+       LONGEST, and use signed register read (addresses are sign-
+       extended for mips).
+
 2002-09-10  Stephane Carrez  <stcarrez@nerim.fr>
 
        * event-loop.c (gdb_do_one_event): Make public.
index eeffe24f8e893ede541625b6ff4120467dd705a1..1474393beb7761a5c36fabcedeba810e523c3873 100644 (file)
@@ -4907,8 +4907,9 @@ mips_extract_struct_value_address (struct regcache *regcache)
   /* FIXME: This will only work at random.  The caller passes the
      struct_return address in V0, but it is not preserved.  It may
      still be there, or this may be a random value.  */
-  CORE_ADDR val;
-  regcache_cooked_read_unsigned (regcache, V0_REGNUM, &val);
+  LONGEST val;
+
+  regcache_cooked_read_signed (regcache, V0_REGNUM, &val);
   return val;
 }