Re: [PATCH] riscv: eliminate unreliable __builtin_frame_address(1)

From: Andreas Schwab
Date: Wed Jan 19 2022 - 16:07:48 EST


On Jan 19 2022, Jessica Clarke wrote:

> My point is that the only thing that can possibly read the incoming
> frame pointer of a leaf function is the leaf function itself, and since
> it knows where it’s putting it then there is no ABI issue, it just
> remembers where it put it and loads it from there.

llvm sidesteps that issue by always saving ra when creating a frame,
even in a leaf function, so it can use a constant offset.

--
Andreas Schwab, schwab@xxxxxxxxxxxxxx
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."