Am implementat capacitatea de a construi Glibc folosind setul de instrumente LLVM

Inginerii de la Collabora au publicat un raport privind implementarea unui proiect pentru a asigura asamblarea bibliotecii de sistem GNU C Library (glibc) folosind setul de instrumente LLVM (Clang, LLD, compiler-rt) în loc de GCC. Până de curând, Glibc a rămas una dintre componentele semnificative ale distribuțiilor care au suportat construirea numai cu GCC.

Dificultățile de adaptare a Glibc pentru asamblare folosind LLVM sunt cauzate atât de diferențele în comportamentul GCC, cât și de Clang la procesarea anumitor constructe (de exemplu, expresii cu simbolul $, funcții imbricate, etichete în blocuri asm, tipuri long double și float128), și necesitatea de a înlocui runtime cu libgcc pe compilator-rt.

Pentru a asigura asamblarea lui Glibc folosind LLVM, aproximativ 150 de patch-uri au fost pregătite pentru mediul Gentoo și 160 pentru mediul bazat pe ChromiumOS. În forma sa actuală, versiunea în ChromiumOS a trecut deja cu succes suita de testare, dar nu este încă activată implicit. Următorul pas va fi transferarea modificărilor pregătite în structura principală a Glibc și LLVM, continuarea testării și corectarea problemelor atipice care apar. Unele dintre patch-uri au fost deja acceptate în ramura Glibc 2.37.

Sursa: opennet.ru

Adauga un comentariu