This is the mail archive of the gdb-patches@sources.redhat.com 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: [RFA] mips_store_struct_return, mips_extract_struct_value_address


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



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