This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Ada gdb failures on hppa
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- Cc: drow at false dot org, randolph at tausq dot org, gdb-patches at sources dot redhat dot com
- Date: Mon, 2 Jan 2006 09:57:26 +0400
- Subject: Re: Ada gdb failures on hppa
- References: <4377D60D.3000306@tausq.org> <20051231062602.GN4734@adacore.com> <20051231065617.GO4734@adacore.com> <20051231160444.GA22876@nevyn.them.org> <200512311628.jBVGSi1x014736@elgar.sibelius.xs4all.nl>
> The closest thing to an hppa ABI is the "32-bit PA-RISC Run-time
> Architecture Document". It explicitly says that: "The caller may not
> assume that the result's address is still in GR28 on return from the
> function." So that places hppa firmly into the
> RETURN_VALUE_STRUCT_CONVENTION category.
Argh, I missed that part when I read the document. Thanks!
> So Joel, sadly there is no way to fix this. I guess the particular
> test should be XFAIL'ed for hppa-*-* and other targets that use
> RETURN_VALUE_STRUCT_CONVENTION.
I have just posted a patch that does this for hppa32 targets.
See: http://sources.redhat.com/ml/gdb-patches/2006-01/msg00002.html.
> The distinction is that RETURN_VALUE_ABI_RETURNS_ADDRESS address
> guarantees that the address is available just after we returned from a
> function, whereas RETURN_VALUE_ABI_PRESERVES_ADDRESS guarantees that
> that address will be available even if we're somewhere in the middle
> of the function (which implies that the address is the same as the
> address being passed in). This is mainly for the benefit of
> implementing "return". The (32-bit) sparc allows
> RETURN_VALUE_ABI_PRESERVES_ADDRESS but I guess I really implemented
> it.
>
> The wording could be improved I think; proposals for better wording
> are welcome!
I think the above already gives a pretty clear idea of the difference,
so it's already pretty good wording according to me.
--
Joel