https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92172
--- Comment #3 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- (In reply to Seth LaForge from comment #2) > Using R11 in ARM and R7 on Thumb is mandated by the AAPCS I believe. I don't > think the overhead is likely to be particularly different in Thumb vs ARM. No it doesn't. The AAPCS for AArch32 makes no reference to a frame pointer, so there is no portable way defined for walking a frame other than by using dwarf records or C++ unwinding descriptions. The latter are preferred, but only support unwinding from 'synchronous' unwind points (after the prologue and before the epilogue). Compilers are, of course, free to use frame pointers internally, within a frame, but there is no frame chain that can be walked.