This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] Support for multiple calling conventions, patch 2/3: Add function type argument to gdbarch_return_value
On Apr 17 12:23, Daniel Jacobowitz wrote:
> On Tue, Apr 15, 2008 at 01:55:27PM +0200, Corinna Vinschen wrote:
> > This is part two of the multiple calling convention patch.
> >
> > The calling convention is stored on a per function type base. However,
> > the gdbarch_return_value function only gets the function's target type
> > as argument. There's no other argument which allows to get other
> > information about the function, so there's apparently no way to retrieve
> > the calling convention to behave accordingly. It's a big patch, but
> > it really only adds the function type to the gdbarch_return_value, which
> > requires follow up changes in calling functions. Mainly this also
> > requires to add function type arguments to print_return_value and
> > using_struct_return.
> >
> > Ok to apply?
>
> Could you try an --enable-targets=all build? I saw this in the patch:
>
> - if (using_struct_return (value_type))
> + if (using_struct_return (find_pc_function (funcaddr), value_type))
>
> and that's a symbol, not a type.
Yeah, I forgot to add a SYMBOL_TYPE as I planned. Oh well, thanks for
catching.
> With that fixed and compile-tested for all targets, the patch is OK.
> Fortunately compile-testing for all targets is a lot easier than
> it used to be.
Done. All changed files build fine with -Werror.
Thanks,
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat