http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54721
--- Comment #2 from Mans Rullgard <mans at mansr dot com> 2012-10-24 12:44:24 UTC --- ARMv5T removed the need for most interworking with the addition of BLX and interworking POP instructions. That said, even armv7 needs some interworking code for a state-switching tail call since there is no branch immediate with state change, only BLX. This is rare enough that I don't think the slight overhead mentioned is anything to worry about.