Megvalósította a Glibc létrehozásának képességét az LLVM eszközkészlet segítségével

A Collabora mérnökei jelentést tettek közzé egy olyan projekt megvalósításáról, amely biztosítja a GNU C Library (glibc) rendszerkönyvtár összeállítását az LLVM eszközkészlettel (Clang, LLD, compiler-rt) a GCC helyett. Egészen a közelmúltig a Glibc az egyik jelentős összetevője maradt azoknak a disztribúcióknak, amelyek csak GCC használatával támogatták az építkezést.

A Glibc LLVM-mel történő összeállításhoz való adaptálásának nehézségeit a GCC és a Clang viselkedésének különbségei okozzák bizonyos konstrukciók feldolgozása során (például $ szimbólumot tartalmazó kifejezések, beágyazott függvények, címkék az asm blokkban, long double és float128 típusok), és a runtime lecserélésének szükségessége a libgcc-re a compiler-rt-n.

A Glibc LLVM segítségével történő összeállításának biztosítására körülbelül 150 javítás készült a Gentoo környezethez és 160 a ChromiumOS alapú környezethez. Jelenlegi formájában a ChromiumOS-ben található build már sikeresen átmegy a tesztcsomagon, de alapértelmezés szerint még nincs engedélyezve. A következő lépés az előkészített változtatások áthelyezése a Glibc és LLVM fő szerkezetébe, a tesztelés és a felbukkanó atipikus problémák kijavítása. A javítások egy részét már elfogadták a Glibc 2.37 ágában.

Forrás: opennet.ru

Hozzászólás