https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89093

--- Comment #8 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
The Arm rule is that the EH machinery needs to avoid using VFP (or other 
non-core) registers so that the unwinder can save them on-demand only.  
See 
<http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf> 
section 4.7.

This means the unwind support code in libgcc, and personality routines, 
need to be built not to use such registers (possibly with a series of 
-ffixed-* options).  To complicate things, some of that code can end up 
calling memcpy.  While __aeabi_memcpy is required to use core registers 
only, that doesn't apply to memcpy.  (There are also possible glibc 
dynamic linker issues, 
<https://sourceware.org/bugzilla/show_bug.cgi?id=15792>.)

I don't guarantee this issue with demand-saving of VFP registers is what's 
involved here, but it's a potential issue I identified when looking for 
Arm ABI issues in the GNU toolchain in 2008 (and included in a list of 
such issues sent to Arm in 2010).

Reply via email to