LLVM құралдар жинағы арқылы Glibc құру мүмкіндігін іске асырды

Collabora инженерлері GCC орнына LLVM құралдар жинағы (Clang, LLD, compiler-rt) арқылы GNU C Library (glibc) жүйелік кітапханасының жинақталуын қамтамасыз ету жобасын жүзеге асыру туралы есепті жариялады. Соңғы уақытқа дейін Glibc тек GCC көмегімен құрылысты қолдайтын дистрибутивтердің маңызды құрамдастарының бірі болып қала берді.

Glibc-ті LLVM көмегімен құрастыруға бейімдеудегі қиындықтар белгілі бір конструкцияларды өңдеу кезіндегі GCC және Clang әрекетіндегі айырмашылықтардың екеуінен де туындайды (мысалы, $ таңбасы бар өрнектер, кірістірілген функциялар, asm блоктарындағы белгілер, ұзын қос және float128 түрлері), және compiler-rt жүйесінде орындалу уақытын libgcc арқылы ауыстыру қажеттілігі.

LLVM көмегімен Glibc құрастыруын қамтамасыз ету үшін Gentoo ортасы үшін шамамен 150 патч және ChromiumOS негізіндегі орта үшін 160 патч дайындалды. Ағымдағы пішінде ChromiumOS жүйесіндегі құрастыру сынақ жиынтығынан сәтті өтіп жатыр, бірақ әдепкі бойынша әлі қосылмаған. Келесі қадам дайындалған өзгерістерді Glibc және LLVM негізгі құрылымына тасымалдау, тестілеуді жалғастыру және қалқымалы атипикалық мәселелерді түзету болады. Кейбір патчтар Glibc 2.37 тармағына қабылданған.

Ақпарат көзі: opennet.ru

пікір қалдыру