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

Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |WONTFIX
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #4 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
Direct tail-calls rely on having a usable direct-branch instruction.  

Cortex-m0+ (armv6-m) only has a 16-bit pc-relative direct-branch instruction,
which has an effective branch range of about +/- 2kbytes from the current PC
value (the BL instruction has a range of +/-4Mb).  Even modest binaries on
these platforms can easily exceed this limit and the result would be branches
that are out of range and probably unfixable by the linker.  

We thus do not even try to support tail-calls on this platform.

Reply via email to