Implementeerde de mogelijkheid om Glibc te bouwen met behulp van de LLVM-toolkit

Ingenieurs van Collabora hebben een rapport gepubliceerd over de implementatie van een project om de assemblage van de GNU C Library (glibc) systeembibliotheek te garanderen met behulp van de LLVM-toolkit (Clang, LLD, compiler-rt) in plaats van GCC. Tot voor kort bleef Glibc een van de belangrijke componenten van distributies die het bouwen alleen met GCC ondersteunden.

De moeilijkheden bij het aanpassen van Glibc voor assemblage met behulp van LLVM worden veroorzaakt door verschillen in het gedrag van GCC en Clang bij het verwerken van bepaalde constructies (bijvoorbeeld expressies met het $-symbool, geneste functies, labels in asm-blokken, lange dubbele en float128-typen), en de noodzaak om runtime te vervangen door libgcc op compiler-rt.

Om de assemblage van Glibc met behulp van LLVM te garanderen, zijn er ongeveer 150 patches voorbereid voor de Gentoo-omgeving en 160 voor de ChromiumOS-gebaseerde omgeving. In zijn huidige vorm doorstaat de ingebouwde ChromiumOS de testsuite al met succes, maar is deze nog niet standaard ingeschakeld. De volgende stap zal zijn het overbrengen van de voorbereide wijzigingen naar de hoofdstructuur van Glibc en LLVM, het doorgaan met testen en het corrigeren van atypische problemen die zich voordoen. Sommige patches zijn al geaccepteerd in de Glibc 2.37-tak.

Bron: opennet.ru

Voeg een reactie