Ingenieurs van het bedrijf Collabora hebben een rapport gepubliceerd over de implementatie van een project voor het mogelijk maken van de opbouw van de GNU C Library (glibc) met behulp van de LLVM-toolset (Clang, LLD, compiler-rt) in plaats van GCC. Tot nu toe bleef glibc een van de belangrijke componenten van distributies die uitsluitend compilatie met GCC ondersteunen.
De moeilijkheden bij het aanpassen van glibc voor compilatie met LLVM zijn zowel het gevolg van de verschillen in het gedrag van GCC en Clang bij de verwerking van bepaalde constructies (zoals expressies met het teken $, geneste functies, labels in asm-blokken, long double en float128 types) als de noodzaak om de runtime van libgcc naar compiler-rt te vervangen.
Voor het mogelijk maken van de opbouw van glibc met behulp van LLVM zijn er ongeveer 150 patches voorbereid voor de Gentoo-omgeving en 160 voor een op ChromiumOS gebaseerde omgeving. In de huidige staat ondergaat de opbouw op ChromiumOS al met succes een testreeks, maar is nog niet standaard ingeschakeld. De volgende stap is het doorgeven van de voorbereide wijzigingen aan de hoofdversie van glibc en LLVM, het voortzetten van de testing en het oplossen van moeilijkheden die zich voordoen. Sommige van de patches zijn al geaccepteerd in de tak van glibc 2.37.
Bron: opennet.ru
