diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-10-01 18:48:12 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-10-01 18:48:12 +0000 |
commit | 64f395bf19e16d115a17e91e62070032ba0553c5 (patch) | |
tree | 94c60160a0a874a55126701d2dab314e4c8b0b34 /gdb/hppa-tdep.c | |
parent | b7ca9213c770d9252c4059a9f302da229371b86d (diff) | |
download | gdb-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.c | 7 |
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))); } |