https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60758
--- Comment #7 from Alexey Merzlyakov <alexey.merzlyakov at samsung dot com> --- The problem does not appear for thumb2 targets. On older architectures (armv6 and below) in thumb-mode the LR indeed can not be used as argument of POP instruction. To support __cxa_end_cleanup backtracing on thumb1, we can make additional register operations before push/pop. But I guess, this will have a negative effect on __cxa_end_cleanup performance. So, I propose to preserve __cxa_end_cleanup backtracing on thumb2 architectures and revert it on thumb1.