diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 1 | ||||
-rw-r--r-- | gdb/arm-tdep.c | 9 |
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. */ |