Implementerede evnen til at bygge Glibc ved hjælp af LLVM-værktøjssættet

Ingeniører fra Collabora har udgivet en rapport om implementeringen af ​​et projekt for at sikre samlingen af ​​GNU C Library (glibc) systembiblioteket ved hjælp af LLVM toolkit (Clang, LLD, compiler-rt) i stedet for GCC. Indtil for nylig forblev Glibc en af ​​de væsentlige komponenter i distributioner, der kun understøttede bygning ved hjælp af GCC.

Vanskelighederne med at tilpasse Glibc til montering ved hjælp af LLVM skyldes både forskelle i adfærden af ​​GCC og Clang ved behandling af visse konstruktioner (for eksempel udtryk med $-symbolet, indlejrede funktioner, etiketter i asm-blokke, long double og float128-typer), og behovet for at erstatte runtime med libgcc på compiler-rt.

For at sikre samlingen af ​​Glibc ved hjælp af LLVM er der udarbejdet omkring 150 patches til Gentoo-miljøet og 160 til det ChromiumOS-baserede miljø. I sin nuværende form består bygningen i ChromiumOS allerede testpakken, men er endnu ikke aktiveret som standard. Det næste trin vil være at overføre de forberedte ændringer til hovedstrukturen af ​​Glibc og LLVM, fortsætte med at teste og rette atypiske problemer, der dukker op. Nogle af patcherne er allerede blevet accepteret i Glibc 2.37-grenen.

Kilde: opennet.ru

Tilføj en kommentar