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: [RFC] fixing extract_struct_value_address


I get the feeling that all that is needed is for the above to be enabled
for all targets.

enjoy,
Andrew

Wouldn't that only work for targets that return the value on the stack?
Those targets already work properly (I think the 386 is one).
I'm concerned here with targets where the struct is returned
by reference (thru a pointer provided by the caller.)
See:

/* elz: I defined this new macro for the hppa architecture only.
this gives us a way to get the value returned by the function from the stack,
at the same address we told the function to put it.
We cannot assume on the pa that r28 still contains the address of the returned
structure. Usually this will be overwritten by the callee.
I don't know about other architectures, so I defined this macro
*/

The comment appears to describe a situtation identical to yours.

As for the more generic problem, per:

Discussed before in:

http://sources.redhat.com/ml/gdb-patches/2001-11/msg00571.html
and
http://sources.redhat.com/ml/gdb-patches/2001-12/msg00325.html

never resolved.

Elena
My understanding is that, for some ABIs, it just isn't possible to find the address of the returned value (unless debug info (cfi?) somehow helps). For such cases, I think EXTRACT_STRUCT_VALUE_ADDRESS() should return zero.

enjoy,
Andrew



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