This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH/RFC/RFA] Print in-memory struct return values
Mark Kettenis <kettenis@chello.nl> writes:
> Anyway, to what extent are the m68k ABI's documented to return the
> structure return address in %d0 and/or %a0? For the
> PCC_STATIC_STRUCT_RETURN targets this is clear, but how is this for
> the systems where the caller is supposed to pass the memory area. Do
> you have access to the m68k SVR4 ABI? What does it say about this?
>From the 68000 supplement:
Functions Returning Structures or Unions
As mentioned above, when a function returns a structure or union, it
expects the caller to provide space for the return value and to place
its address in register %a0. Having the caller supply the return
object's space allows re-entrancy.
A function returning a structure or union also sets %a0 to the value
it finds in %a0. Thus when the caller receives control again, the
address of the returned object resides in register %a0. ...
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."