aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-tdep.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-10-01 18:48:12 +0000
committerAndrew Cagney <cagney@redhat.com>2003-10-01 18:48:12 +0000
commit64f395bf19e16d115a17e91e62070032ba0553c5 (patch)
tree94c60160a0a874a55126701d2dab314e4c8b0b34 /gdb/hppa-tdep.c
parentb7ca9213c770d9252c4059a9f302da229371b86d (diff)
downloadgdb-64f395bf19e16d115a17e91e62070032ba0553c5.zip
gdb-64f395bf19e16d115a17e91e62070032ba0553c5.tar.gz
gdb-64f395bf19e16d115a17e91e62070032ba0553c5.tar.bz2
2003-10-01 Andrew Cagney <cagney@redhat.com>
* infcall.c (call_function_by_hand): When STRUCT_RETURN, always use STRUCT_ADDR. When not using "struct return convention", pass "0" to "value_being_returned". Add FIXMEs. * infcmd.c (print_return_value): Pass an explicit 0/1 to value_being_returned. Add comments. * values.c (value_being_returned): Add fixme. * hppa-tdep.c (hppa_extract_struct_value_address): Add FIXME. (hppa_value_returned_from_stack): Add FIXME.
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r--gdb/hppa-tdep.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index e82d736..fda327f 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -2067,6 +2067,9 @@ hppa_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
This function does the same stuff as value_being_returned in values.c, but
gets the value from the stack rather than from the buffer where all the
registers were saved when the function called completed. */
+/* FIXME: cagney/2003-09-27: This function is no longer needed. The
+ inferior function call code now directly handles the case described
+ above. */
struct value *
hppa_value_returned_from_stack (struct type *valtype, CORE_ADDR addr)
{
@@ -5040,6 +5043,10 @@ hppa_extract_struct_value_address (char *regbuf)
the address size is equal to the size of an int* _on the host_...
One possible implementation that crossed my mind is to use
extract_address. */
+ /* FIXME: cagney/2003-09-27: This function can probably go. ELZ
+ writes: We cannot assume on the pa that r28 still contains the
+ address of the returned structure. Usually this will be
+ overwritten by the callee. */
return (*(int *)(regbuf + DEPRECATED_REGISTER_BYTE (28)));
}