aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-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 ed0551d..59b2c24 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 c84c3c6..e61c593 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. */