Implementerte muligheten til å bygge Glibc ved å bruke LLVM-verktøysettet

Ingeniører fra Collabora har publisert en rapport om implementeringen av et prosjekt for å sikre sammenstillingen av GNU C Library (glibc) systembiblioteket ved å bruke LLVM-verktøysettet (Clang, LLD, compiler-rt) i stedet for GCC. Inntil nylig forble Glibc en av de betydelige komponentene i distribusjoner som støttet kun bygging med GCC.

Vanskelighetene med å tilpasse Glibc for montering ved bruk av LLVM er forårsaket av både forskjeller i oppførselen til GCC og Clang ved behandling av visse konstruksjoner (for eksempel uttrykk med $-symbolet, nestede funksjoner, etiketter i asm-blokker, long double og float128-typer), og behovet for å erstatte runtime med libgcc på compiler-rt.

For å sikre montering av Glibc ved bruk av LLVM, er det utarbeidet ca. 150 patcher for Gentoo-miljøet og 160 for det ChromiumOS-baserte miljøet. I sin nåværende form passerer bygningen i ChromiumOS allerede testpakken, men er ennå ikke aktivert som standard. Neste trinn vil være å overføre de forberedte endringene til hovedstrukturen til Glibc og LLVM, fortsette å teste og korrigere atypiske problemer som dukker opp. Noen av oppdateringene har allerede blitt akseptert i Glibc 2.37-grenen.

Kilde: opennet.ru

Legg til en kommentar