https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111096
--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- (In reply to Richard Earnshaw from comment #5) > This was a deliberate design choice. Although the frame chain is not set up > by code that omits the frame pointer, the chain of frames that are set up by > other functions is still valid this way. This ensures that any code that > does try to walk the frame chain will not crash. If we reused the frame > pointer for other purposes, then any code trying to walk the frame chain (eg > backtrace()) would encounter an invalid record and likely crash. Would it make sense to document this somewhere? Or did I just miss it? :-)