This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/60758] Infinite backtrace in __cxa_end_cleanup
- From: "alexey.merzlyakov at samsung dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 19 May 2014 11:19:25 +0000
- Subject: [Bug libstdc++/60758] Infinite backtrace in __cxa_end_cleanup
- Auto-submitted: auto-generated
- References: <bug-60758-4 at http dot gcc dot gnu dot org/bugzilla/>
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.