https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63304
ard.biesheuvel at linaro dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ard.biesheuvel at linaro dot org --- Comment #46 from ard.biesheuvel at linaro dot org --- One issue that this causes, which I did not see mentioned anywhere in the thread, is that the use of adrp/add and adrp/ldr imposes a 4 KB section alignment. In EDK2 Tianocore (UEFI reference implementation), we deliberately use -mcmodel=large to get around this requirement, since code size is a big deal when executing from NOR flash, and the architecture of EDK2 (lots and lots of small separately linked binaries) makes the overhead of 4 KB section alignment prohibitive. (It uses 32 byte section alignment unless there are objects like a vector table that require more)