Implementata la possibilità di creare Glibc utilizzando il toolkit LLVM

Gli ingegneri di Collabora hanno pubblicato un rapporto sull'implementazione di un progetto per garantire l'assemblaggio della libreria di sistema GNU C Library (glibc) utilizzando il toolkit LLVM (Clang, LLD, compiler-rt) invece di GCC. Fino a poco tempo fa, Glibc rimaneva una delle componenti significative delle distribuzioni che supportavano la costruzione solo con GCC.

Le difficoltà nell'adattare Glibc per l'assembly utilizzando LLVM sono causate sia dalle differenze nel comportamento di GCC che da Clang durante l'elaborazione di determinati costrutti (ad esempio, espressioni con il simbolo $, funzioni annidate, etichette nei blocchi asm, tipi long double e float128), e la necessità di sostituire il runtime con libgcc su compiler-rt.

Per garantire l'assemblaggio di Glibc utilizzando LLVM, sono state preparate circa 150 patch per l'ambiente Gentoo e 160 per l'ambiente basato su ChromiumOS. Nella sua forma attuale, la build in ChromiumOS sta già superando con successo la suite di test, ma non è ancora abilitata per impostazione predefinita. Il prossimo passo sarà trasferire le modifiche preparate alla struttura principale di Glibc e LLVM, continuare a testare e correggere i problemi atipici che si presenteranno. Alcune patch sono già state accettate nel ramo Glibc 2.37.

Fonte: opennet.ru

Aggiungi un commento