LLVM asboblar to'plamidan foydalangan holda Glibc yaratish qobiliyati amalga oshirildi

Collabora muhandislari GCC o'rniga LLVM asboblar to'plamidan (Clang, LLD, compiler-rt) foydalangan holda GNU C Library (glibc) tizim kutubxonasini yig'ishni ta'minlash bo'yicha loyihani amalga oshirish bo'yicha hisobotni nashr etdilar. Yaqin vaqtgacha Glibc faqat GCC yordamida qurilishni qo'llab-quvvatlovchi tarqatishning muhim tarkibiy qismlaridan biri bo'lib qoldi.

Glibc-ni LLVM yordamida yig'ish uchun moslashtirishdagi qiyinchiliklar ma'lum konstruktsiyalarni qayta ishlashda GCC va Clang xatti-harakatlaridagi farqlardan kelib chiqadi (masalan, $ belgisi bo'lgan iboralar, ichki o'rnatilgan funktsiyalar, asm bloklaridagi teglar, uzun juft va float128 turlari), va compiler-rt da ish vaqtini libgcc bilan almashtirish zarurati.

LLVM yordamida Glibc yig'ilishini ta'minlash uchun Gentoo muhiti uchun 150 ga yaqin va ChromiumOS asosidagi muhit uchun 160 ta yamoq tayyorlandi. Hozirgi ko'rinishida ChromiumOS-dagi tuzilma allaqachon sinov to'plamidan muvaffaqiyatli o'tmoqda, lekin hali sukut bo'yicha yoqilmagan. Keyingi qadam tayyorlangan o'zgarishlarni Glibc va LLVM ning asosiy tuzilmalariga o'tkazish, sinovdan o'tkazish va paydo bo'lgan atipik muammolarni tuzatish bo'ladi. Ba'zi yamoqlar allaqachon Glibc 2.37 filialiga qabul qilingan.

Manba: opennet.ru

a Izoh qo'shish