Inginerii de la S o l l o b o r a au publicat un raport privind implementarea proiectului de asigurare a compilării bibliotecii sistemului GNU C Library (glibc) folosind instrumentele LLVM (Clang, LLD, compiler-rt) în loc de GCC. Până de curând, Glibc a rămas unul dintre componentele semnificative ale distribuțiilor, suportând compilarea doar prin GCC.
Dificultățile adaptării Glibc pentru compilarea cu LLVM sunt cauzate atât de diferențele în comportamentul GCC și Clang în tratarea unor construcții (de exemplu, expresii cu simbolul $, funcții închise, etichete în blocuri asm, tipuri long double și float128), cât și de necesitatea înlocuirii runtime-ului libgcc cu compiler-rt.
Pentru a asigura compilarea Glibc cu LLVM, au fost pregătite aproximativ 150 de patch-uri pentru mediul Gentoo și 160 pentru un mediu bazat pe ChromiumOS. În starea actuală, compilarea în ChromiumOS trece deja cu succes setul de teste, dar nu este încă activată din modă implicită. Următorul pas va fi transmiterea modificărilor pregătite în cadrul principal al Glibc și LLVM, continuarea testării și corectarea problemelor neașteptate. Unele dintre patch-uri au fost deja acceptate în ramura Glibc 2.37.
Sursa: opennet.ro
