diff options
author | Michael Snyder <msnyder@vmware.com> | 2003-07-30 20:59:10 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2003-07-30 20:59:10 +0000 |
commit | c48a845bff656d9f07bf53c0004bb0fed62891ae (patch) | |
tree | f82e8f84973942a28a40900c23384acc047d41ae /gdb/infcall.c | |
parent | f0d8db192735d4610f8a1bd3db8b67bf4b13f906 (diff) | |
download | gdb-c48a845bff656d9f07bf53c0004bb0fed62891ae.zip gdb-c48a845bff656d9f07bf53c0004bb0fed62891ae.tar.gz gdb-c48a845bff656d9f07bf53c0004bb0fed62891ae.tar.bz2 |
2003-07-30 Michael Snyder <msnyder@redhat.com>
* structs.h (value_being_returned): Add a struct_addr argument.
* infcall.c (call_function_by_hand): Pass struct_addr to
value_being_returned.
* infcmd.c (print_return_value): Pass zero as struct_addr.
* values.c (value_being_returned): If struct_addr is passed,
use it instead of trying to recover it from the inferior.
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r-- | gdb/infcall.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c index 477fc0f..b00785c 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -421,7 +421,7 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) vector. Hence this direct call. A follow-on change is to modify this interface so that it takes - thread OR frame OR tpid as a parameter, and returns a dummy + thread OR frame OR ptid as a parameter, and returns a dummy frame handle. The handle can then be used further down as a parameter to generic_save_dummy_frame_tos(). Hmm, thinking about it, since everything is ment to be using generic dummy @@ -445,7 +445,7 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) On a RISC architecture, a void parameterless generic dummy frame (i.e., no parameters, no result) typically does not need to push anything the stack and hence can leave SP and - FP. Similarly, a framelss (possibly leaf) function does + FP. Similarly, a frameless (possibly leaf) function does not push anything on the stack and, hence, that too can leave FP and SP unchanged. As a consequence, a sequence of void parameterless generic dummy frame calls to frameless @@ -1056,8 +1056,10 @@ the function call).", name); } else { - struct value *retval = value_being_returned (value_type, retbuf, - struct_return); + struct value *retval = value_being_returned (value_type, + retbuf, + struct_return, + struct_addr); do_cleanups (retbuf_cleanup); return retval; } |