summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2002-09-05 19:05:59 +0000
committerMichael Snyder <msnyder@specifix.com>2002-09-05 19:05:59 +0000
commit63b8e3d652099724cd9ce2ce8fa05cfe0c1a4e0b (patch)
treeb5f8be0b70b92feee855cb69315785ed4fbed41c
parentb480f1ed659e0934ef019fe2adcce1d3be2e38b4 (diff)
downloadgdb-63b8e3d652099724cd9ce2ce8fa05cfe0c1a4e0b.tar.gz
2002-09-05 Michael Snyder <msnyder@redhat.com>
* arm-tdep.c (arm_extract_return_value): Use new regcache method.
-rw-r--r--gdb/ChangeLog1
-rw-r--r--gdb/arm-tdep.c9
2 files changed, 7 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ed0551d0567..59b2c24466e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -3,6 +3,7 @@
* arm-tdep.c (arm_init_extra_frame_info): Distinguish between
generic_dummy_frame method and old method. Also distinguish
between ARM_FP_REGNUM and THUMB_FP_REGNUM.
+ (arm_extract_return_value): Use new regcache method.
* mips-tdep.c (mips_n32n64_push_arguments): Remove alignment
adjustment that doesn't conform to the ABI.
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index c84c3c65756..e61c5938ef7 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -2283,9 +2283,12 @@ arm_extract_return_value (struct type *type,
the address in which a function should return its structure value. */
static CORE_ADDR
-arm_extract_struct_value_address (char *regbuf)
+arm_extract_struct_value_address (struct regcache *regcache)
{
- return extract_address (regbuf, REGISTER_RAW_SIZE(ARM_A1_REGNUM));
+ ULONGEST ret;
+
+ regcache_cooked_read_unsigned (regcache, ARM_A1_REGNUM, &ret);
+ return ret;
}
/* Will a function return an aggregate type in memory or in a
@@ -2933,7 +2936,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_deprecated_store_return_value (gdbarch, arm_store_return_value);
set_gdbarch_store_struct_return (gdbarch, arm_store_struct_return);
set_gdbarch_use_struct_convention (gdbarch, arm_use_struct_convention);
- set_gdbarch_deprecated_extract_struct_value_address (gdbarch,
+ set_gdbarch_extract_struct_value_address (gdbarch,
arm_extract_struct_value_address);
/* Single stepping. */