LTO can re-order top-level assembly blocks, which can cause this macro definition to appear after its use (or not at all), causing compilation failures. On modern toolchains (armv4t+), assembly should write `bx lr` in all cases, and linkers will transparently convert them to `mov pc, lr`, allowing us to simply remove the macro. (source: https://groups.google.com/forum/#!topic/comp.sys.arm/3l7fVGX-Wug and verified empirically) For the armv4.S file, preserve this macro to maximize backwards compatibility. |
||
|---|---|---|
| .. | ||
| argz | ||
| ctype | ||
| errno | ||
| iconv | ||
| include | ||
| locale | ||
| machine | ||
| misc | ||
| posix | ||
| reent | ||
| search | ||
| signal | ||
| stdio | ||
| stdio64 | ||
| stdlib | ||
| string | ||
| sys | ||
| syscalls | ||
| time | ||
| unix | ||
| xdr | ||
| Makefile.am | ||
| Makefile.in | ||
| aclocal.m4 | ||
| configure | ||
| configure.in | ||
| libc.in.xml | ||
| libc.texinfo | ||
| saber | ||
| sys.tex | ||