Ipinatupad ang kakayahang bumuo ng Glibc gamit ang LLVM toolkit

Ang mga inhinyero mula sa Collabora ay nag-publish ng isang ulat sa pagpapatupad ng isang proyekto upang matiyak ang pagpupulong ng library ng sistema ng GNU C Library (glibc) gamit ang LLVM toolkit (Clang, LLD, compiler-rt) sa halip na GCC. Hanggang kamakailan lamang, nanatiling isa ang Glibc sa mga mahahalagang bahagi ng mga pamamahagi na sumuporta sa pagbuo lamang gamit ang GCC.

Ang mga kahirapan sa pag-adapt ng Glibc para sa pagpupulong gamit ang LLVM ay sanhi ng parehong mga pagkakaiba sa pag-uugali ng GCC at Clang kapag nagpoproseso ng ilang mga konstruksyon (halimbawa, mga expression na may simbolo na $, mga nested function, mga label sa asm block, mahabang double at float128 na mga uri), at ang pangangailangan na palitan ang runtime ng libgcc sa compiler-rt.

Para matiyak ang pag-assemble ng Glibc gamit ang LLVM, humigit-kumulang 150 patch ang inihanda para sa Gentoo environment at 160 para sa ChromiumOS-based na environment. Sa kasalukuyang anyo nito, ang build sa ChromiumOS ay matagumpay nang pumasa sa test suite, ngunit hindi pa pinapagana bilang default. Ang susunod na hakbang ay ang paglipat ng mga inihandang pagbabago sa pangunahing istruktura ng Glibc at LLVM, magpatuloy sa pagsubok at pagwawasto ng mga hindi tipikal na problema na lumalabas. Ang ilan sa mga patch ay tinanggap na sa sangay ng Glibc 2.37.

Pinagmulan: opennet.ru

Magdagdag ng komento