warning: listing the stack pointer register 'esp' in a clobber list is deprecated

Segher Boessenkool segher@kernel.crashing.org
Mon May 27 17:51:00 GMT 2019


On Mon, May 27, 2019 at 07:22:35PM +0200, J.W. Jagersma wrote:
> On 2019-05-27 19:02, Segher Boessenkool wrote:
> > The simple and reliable way of forcing a frame pointer is to write
> > 
> > 	if (__builtin_frame_address(0)) {
> > 		/* Force a frame pointer for this function.  */
> > 	}
> > 
> Thanks, this appears to work perfectly. But I don't see how it can
> guarantee that "m" operands are never accessed through esp? I guess
> ideally there would be a specific constraint for this seemingly common
> scenario.

GCC uses the frame pointer for all stack accesses, if it uses a frame
pointer at all.


Segher



More information about the Gcc-help mailing list