Re: [PATCH v4 0/3] Compile-time stack frame pointer validation

Linus Torvalds
2015-05-20T16:59:22Z

On Wed, May 20, 2015 at 9:25 AM, Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> On Wed, May 20, 2015 at 09:03:37AM -0700, Andy Lutomirski wrote:
>>
>> I've never quite understood what the '?' means.
>
> It basically means "here's a function address we found on the stack,
> which may or may not have been called." It's needed because stack
> walking isn't currently 100% reliable.

It is often quite interesting and helpful, because it shows stale data
on the stack, giving clues about what happened just before.

Now, I'd like gcc to generally be better about not wasting so much
stack frame, so in that sense I'd like to see fewer '?" entries just
from a code quality standpoint, but when debugging those things, the
downside of "noise" is often cancelled by the upside of "ahh, it
happens after calling X".

So the "perfect stack frames" is actually not as great a thing as some
people want to make it seem.

Linus