This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/4] New gdb arch hook: return_with_first_hidden_param_p


> Date: Tue, 15 May 2012 14:50:58 +0800
> From: Yao Qi <yao@codesourcery.com>
> 
> On 05/15/2012 01:14 AM, Joel Brobecker wrote:
> >>> > > Can we use the fact that functions that have their first parameter
> >>> > > be a nameless, artificial, paramter whose type is a pointer to
> >>> > > the return type? Or would this heuristics trigger in other situations?
> >> > 
> >> > Yeah, I thought of that heuristics, but it still can't differentiate
> >> > passing 3 or 4 parameters.
> > So, you are saying that we have functions who have an extra hidden
> > parameter used for something other than the function's return value?
> > 
> 
> No, the extra hidden parameter's type is the reference of the function's
> return type.  My point is if we only examine debug info, we don't know
> whether hidden parameter is passed, because the debug info is the same
> regardless of hidden parameter is passed or not.

I'm still very confused.  This "hidden parameter" thing sounds exactly
like "struct_return".  So are you saying that on some architectures
gdbarch_return_value() return RETUN_VALUE_REGISTER_CONVENTION when if
fact for C++ (and not for plain C) it should return
RETURN_VALUE_STRUCT_CONVENTION?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]