Do kódové základny GCC, používané pro vývoj větve GCC 15, byla přidána změna, která zařazuje podporu ABI ARM64 ILP32 (-mabi=ilp32) mezi zastaralé. ILP32 připomíná subarchitekturu x32 pro systémy x86_64 a také umožňuje používání 32bitových ukazatelů a 32bitového modelu adresace paměti, když procesor pracuje v 64bitovém režimu s podporou 64bitových registrů a rozšířených instrukcí. Omezením ABI ILP32 je nemožnost adresovat z aplikace více než 4 GB paměti.
Původně byl ABI ILP32 navržen pro usnadnění přenášení 32bitových aplikací na 64bitové procesory AArch64, ale nedostal se k širokému využití. Podpora ILP32 nikdy nebyla přijata do jádra Linuxu a systémové knihovny Glibc. Samostatně se vyvíjely porty Linaro a Debian pro ILP32, ale ty už více než pět let existují v opuštěném stavu. Mezi vzácnými systémy, které podporují ILP32, je operační systém watchOS, používán v zařízeních Apple Watch, ale GCC pro tento OS není podporován.
Zdroj: opennet.ru
