ARM64 ILP32 is the Armv8 architecture with a 32-bit ABI rather than 64-bit — akin to the “x32” x86 effort that never really took off on Linux. ARM64 ILP32 support never ended up making it into the mainline Linux kernel or GNU C Library but did appear within the GNU Compiler Collection. But years later and little use, GCC developers are consider deprecating ILP32 support ahead of its eventual removal.
Wilco Dijkstra of Arm laid out the proposal this week to deprecate ARM64 ILP32 support within the GCC compiler so that it can be removed in a future release. This 32-bit ARM64 ABI was rarely used years ago and these days with most software being 64-bit friendly, there’s even less use for it these days especially with there never having been mainline Linux kernel support for running ILP32 mode.
The discussion on GCC deprecating ILP32 mode is within this gcc-patches mailing list thread.
There was some possible concern over deprecating ILP32 support not for Linux use but rather for macOS/Darwin. Apple Watch with watchOS uses ILP32 mode and there is a developer that had been exploring GCC support for Apple Watch. However, that is just a low priority passion project and isn’t clear if/when it will ultimately materialize. It’s also not clear how much existing GCC ILP32 code would be re-used if at all for that Darwin/watchOS targeting.
Short of some vocal ARM64 ILP32 users announcing themselves, it’s looking like the GCC support for this ARM64 32-bit ABI will end up being deprecated and ultimately removed from the GCC compiler in the future.