ARM PATCH fix extract_return_value and store_return_value

Richard Earnshaw
2002-12-14T10:48:21Z

[-- Attachment #1: Type: text/plain, Size: 1140 bytes --]

This patch cleans up the way the ARM tdep code handles extracting and
storing return values. Not only does it convert the methods to the new
regcache abstraction but it also fixes (at least I hope it fixes) the
big-endian problems that Michael was reporting on a big-endian ARM.

Michael, I've only run this through a little-endian testsuite. Could you
let me know if it solves the problems you were reporting.

R.

2002-12-14 Richard Earnshaw <rearnsha@arm.com>

* arm-tdep.c (convert_from_extended): New argument to hold the
type of floating point result we want to convert to. Make input
argument const. Fix all callers.
(convert_to_extended): Similarly.
(arm_extract_return_value): Now takes a regcache argument. Change
code to use regcache accessor functions. Correctly extract
smaller-than-word results on big-endian machines.
(arm_store_return_value): Now takes a regcache argument. Change
code to use regcache accessor functions. Correctly zero/sign extend
smaller than word results before storing into r0.
(arm_gdbarch_init): Register new-style extract_return_value and
store_return_value functions.

[-- Attachment #2: gdb-retval.patch --]
[-- Type: application/x-patch , Size: 10781 bytes --]