Se ha realizado un cambio en la base de código de GCC, utilizada para formar la rama GCC 15, que clasifica el soporte para ABI ARM64 ILP32 (-mabi=ilp32) como obsoleto. ILP32 recuerda a la subarquitectura x32 para sistemas x86_64 y también permite el uso de punteros de 32 bits y un modelo de direccionamiento de memoria de 32 bits, al operar el procesador en modo de 64 bits con soporte para registros de 64 bits e instrucciones extendidas. La limitación de ABI ILP32 es que no puede direccionar más de 4 GB de memoria desde una aplicación.
Inicialmente, ABI ILP32 fue diseñado para simplificar la portabilidad de aplicaciones de 32 bits en procesadores AArch64 de 64 bits, pero no logró una adopción significativa. El soporte para ILP32 nunca fue aceptado en el núcleo de Linux y en la biblioteca del sistema Glibc. Se desarrollaron por separado los puertos de Linaro y Debian para ILP32, pero han estado en estado de abandono durante más de cinco años. Entre los pocos sistemas que soportan ILP32, se destaca el sistema operativo watchOS, utilizado en los dispositivos Apple Watch, aunque GCC no es compatible con este sistema operativo.
Fuente: opennet.ru
