summaryrefslogtreecommitdiff
path: root/gdb/infcall.c
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2003-07-30 20:59:10 +0000
committerMichael Snyder <msnyder@specifix.com>2003-07-30 20:59:10 +0000
commit73564819f786db4216b510ba9a1c49196ae5b153 (patch)
tree7ecdba2f7f68a4c98a4670ad3c371ebcd5a3d62f /gdb/infcall.c
parent79e362059c2b2095e39b1122006507100b88322b (diff)
downloadgdb-73564819f786db4216b510ba9a1c49196ae5b153.tar.gz
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.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 477fc0f44d6..b00785c119a 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;
}