[RFA] Change gdbarch_return_value to take function type instead of return value type
Wed Oct 13 09:30:00 GMT 2004
On Oct 13 00:15, Mark Kettenis wrote:
> The patch looks OK to me.
> There's also an important change necessary to sparc-tdep.c. sparc32 is the
> only platform which calls using_struct_return from push_dummy_code. Since
> push_dummy_code only has the return value type, it can neither call
> using_struct_return nor gdbarch_return_value. I've created a new static
> function called "sparc32_using_struct_return" which only evaluates whether
> a struct return condition exists or not. The function is now used in
> sparc32_push_dummy_code as well as in sparc32_return_value.
> I think that for HP-UX, push_dummy_call needs to get passed the
> function as a `struct value'. That could clean up things a bit
> further. However, that's not for you to worry about. So please check
> this in.
I'm a bit confused. The patch to sparc-tdep.c affects push_dummy_*code*,
not push_dumm_*call*. The push_dummy_call definition has already been
changed to using `struct value *function' by Randlph Chung on 2004-06-06.
push_dummy_code still gets a `struct type *return_type' only. So while
my patch handles the immediate consequences of the gdbarch_return_value
parameter change, it might be useful in the long run to change
push_dummy_code to get either the function value or the function type
Otherwise, thanks for approving the patch, I'll check it in in a few minutes.
Cygwin Project Co-Leader
Red Hat, Inc.
More information about the Gdb-patches