توانایی ساخت Glibc با استفاده از جعبه ابزار LLVM را پیاده سازی کرد

مهندسان Collabora گزارشی در مورد اجرای پروژه ای برای اطمینان از مونتاژ کتابخانه سیستم GNU C (glibc) با استفاده از جعبه ابزار LLVM (Clang، LLD، compiler-rt) به جای GCC منتشر کرده اند. تا همین اواخر، Glibc یکی از اجزای مهم توزیع بود که تنها با GCC از ساخت و ساز پشتیبانی می کرد.

مشکلات در تطبیق Glibc برای مونتاژ با استفاده از LLVM ناشی از هر دو تفاوت در رفتار GCC و Clang هنگام پردازش ساختارهای خاص است (به عنوان مثال، عبارات با نماد $، توابع تو در تو، برچسب ها در بلوک های asm، انواع long double و float128)، و نیاز به جایگزینی زمان اجرا با libgcc در کامپایلر-rt.

برای اطمینان از مونتاژ Glibc با استفاده از LLVM، حدود 150 وصله برای محیط Gentoo و 160 برای محیط مبتنی بر ChromiumOS آماده شده است. در شکل فعلی، ساخت در ChromiumOS قبلاً مجموعه آزمایشی را با موفقیت پشت سر گذاشته است، اما هنوز به طور پیش فرض فعال نشده است. مرحله بعدی انتقال تغییرات آماده شده به ساختار اصلی Glibc و LLVM، ادامه آزمایش و اصلاح مشکلات غیر معمولی است که ظاهر می شوند. برخی از پچ ها قبلاً در شعبه Glibc 2.37 پذیرفته شده اند.

منبع: opennet.ru

اضافه کردن نظر