GCC 15 Drops ABI ARM64 ILP32 Support

GCC 15 Branch Formed with Removal of ABI arm64 ilp32 Support

The GCC code base used to form the GCC 15 branch has been updated, removing the support of ABI arm64 ilp32. ILP32 is similar to the X32 subarchitecture for X86_64 systems, allowing for the use of 32-bit signs and a 32-bit memory addressing model while operating in a 64-bit mode with support for 64-bit registers and extended instructions. However, the limitation of ABI ILP32 is the inability to address more than 4GB of memory from applications.

Originally, ABI ILP32 was developed to facilitate the transition of 32-bit applications to Aarch64 64-bit processors, but it did not receive widespread adoption. Support for ILP32 was not integrated into the Linux kernel and the GLIBC system library. While Linaro and Debian had separate ports for ILP32, these projects have been abandoned for over five years. Only a few systems currently support ILP32, with the Watchos operating system on Apple Watch devices being a notable exception; however, GCC does not have support for this OS.

/Reports, release notes, official announcements.