[RFA] mips_store_struct_return, mips_extract_struct_value_address

Andrew Cagney ac131313@ges.redhat.com
Tue Aug 20 19:17:00 GMT 2002


> I'm going to withdraw this patch and do a simpler version
> (bug-for-bug compatible with the current code).
> 
> Michael Snyder wrote:
> 
>> 
>> These two new functions serve as the gdbarch-ification of the
>> corresponding macros, but also add functionality.  The existing
>> macros didn't work, because they depended on the value of the
>> struct_return address being preserved in $v0 (which the compiler
>> was not constrained to do).  Instead we borrow an implementation
>> from numerous other targets, and save the value when gdb sets it
>> (which ought to be in store_struct_return, but in our case is in
>> push_arguments), and then return it later via
>> extract_struct_value_address.
>> 
>> A future improvement would be to move the code that sets
>> struct_return from push_arguments into store_struct_return.

If you were refering to this kludge:

/* Keep structure return address in this variable.
    FIXME:  This is a horrid kludge which should not be allowed to continue
    living.  This only allows a single nested call to a structure-returning
    function.  Come on, guys!  -- gnu@cygnus.com, Aug 92  */

static CORE_ADDR rs6000_struct_return_address;

then withdrawing the patch was definitly the right thing to do.

Andrew




More information about the Gdb-patches mailing list