In GCC 15 it was decided to remove support for the ARM64 ILP32 ABI.

GCC Goes Ahead With The ARM64 ILP32 Deprecation.

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.

From OpenNet

The GCC codebase used to form the GCC 15 branch has been modified to remove support for the ARM64 ILP32 ABI. ILP3 resembles the x32 subarchitecture for x86_64 systems and also allows the use of 32-bit pointers and a 32-bit memory addressing model, while running the processor in 64-bit mode with support for 64-bit registers and extended instructions. A limitation of the ILP32 ABI is that it cannot address more than 4 GB of memory from an application.

The ILP32 ABI was originally designed to make it easier to port 32-bit applications to 64-bit AArch64 processors, but was not widely adopted. ILP32 support was never adopted into the Linux kernel and the Glibc system library. Linaro and Debian ports for ILP32 were developed separately, but they have been abandoned for more than five years. The rare system that supports ILP32 is the watchOS operating system used in Apple Watch devices, but GCC is not supported for this OS.