GCC a decis să elimine suportul pentru ABI ARM64 ILP32

Baza de cod GCC folosită pentru a construi ramura GCC 15 a fost modificată pentru a deprecia suportul pentru ARM64 ILP32 ABI (-mabi=ilp32). ILP3 seamănă cu subarhitectura x32 pentru sistemele x86_64 și permite, de asemenea, utilizarea de pointeri pe 32 de biți și un model de adresare a memoriei pe 32 de biți, în timp ce rulează procesorul în modul de 64 de biți cu suport pentru registre de 64 de biți și instrucțiuni extinse. O limitare a ILP32 ABI este că nu poate aborda mai mult de 4 GB de memorie dintr-o aplicație.

Interfața de business intelligence (ABI) ILP32 a fost inițial concepută pentru a simplifica portarea aplicațiilor pe 32 de biți la procesoare AArch64 pe 64 de biți, dar nu a fost niciodată adoptată pe scară largă. Suportul pentru ILP32 nu a fost niciodată adoptat în kernel. Linux și biblioteca sistemului Glibc. Porturile Linaro au fost dezvoltate separat și Debian pentru ILP32, dar acestea au fost abandonate de peste cinci ani. Printre rarele sisteme care acceptă ILP32 se numără watchOS, sistemul de operare utilizat în dispozitivele Apple Watch, însă GCC nu este acceptat pentru acest sistem de operare.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster