aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2002-09-10 21:31:18 +0000
committerMichael Snyder <msnyder@vmware.com>2002-09-10 21:31:18 +0000
commit77d8f2b47ef858ba7534d08097decc6826a53e65 (patch)
tree854ec66a5cf474cb2895a4386cf3235170a88c27
parent2b68e2c5b9fcacc90385c8a750bddf5a7bd0bbe7 (diff)
downloadgdb-77d8f2b47ef858ba7534d08097decc6826a53e65.zip
gdb-77d8f2b47ef858ba7534d08097decc6826a53e65.tar.gz
gdb-77d8f2b47ef858ba7534d08097decc6826a53e65.tar.bz2
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).
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/mips-tdep.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 49012e3..9ca1a56 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index eeffe24..1474393 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -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;
}