[PATCH] __builtin_frame_address(0) doesn't work without the frame pointer
Denis Zaitsev
zzz@cd-club.ru
Thu Jul 11 14:48:00 GMT 2002
On Wed, Jul 10, 2002 at 03:56:21PM +0100, Richard Earnshaw wrote:
> > On Tue, Jul 09, 2002 at 06:11:17PM +0100, Richard Earnshaw wrote:
> > > ARM certainly does. But that has special code to copy the return address
> > > for frame 0 into a pseudo if the return address is needed.
> >
> > We're talking about __builtin_frame_address, not
> > __builtin_return_address.
> >
>
> Ooops. Then the ARM is definitely a candidate, since it has a variable
> offset between frame_pointer_rtx and hard_frame_pointer_rtx which depends
> on the number of registers that require saving.
>
Yes, ARM seems to be a subject... BTW, why it was choosed for ARM
such a stack layout, that the soft frame pointer points into the
middle of what usually the stack frame is? Or it is just an artifical
thing used for RTL? It seems, that for ARM the hard FP plays the same
role, as the soft one for, say, Spark64 - it points for the "real"
stack frame? Is it right?
More information about the Gcc
mailing list