تم تنفيذ القدرة على بناء Glibc باستخدام مجموعة أدوات LLVM

نشر مهندسون من Collabora تقريرًا عن تنفيذ مشروع لضمان تجميع مكتبة نظام مكتبة GNU C (glibc) باستخدام مجموعة أدوات LLVM (Clang، LLD، compiler-rt) بدلاً منGC. حتى وقت قريب، ظل Glibc أحد المكونات المهمة للتوزيعات التي تدعم البناء باستخدام دول مجلس التعاون الخليجي فقط.

ترجع الصعوبات في تكييف Glibc للتجميع باستخدام LLVM إلى الاختلافات في سلوك مجلس التعاون الخليجي وClang عند معالجة بنيات معينة (على سبيل المثال، التعبيرات ذات الرمز $، والوظائف المتداخلة، والتسميات في كتل asm، والأنواع الطويلة المزدوجة وfloat128)، والحاجة إلى استبدال وقت التشغيل بـ libgcc على برنامج التحويل البرمجي-rt.

لضمان تجميع Glibc باستخدام LLVM، تم إعداد حوالي 150 تصحيحًا لبيئة Gentoo و160 تصحيحًا للبيئة المستندة إلى ChromiumOS. في شكله الحالي، نجح الإصدار الموجود في ChromiumOS في اجتياز مجموعة الاختبار بنجاح، ولكن لم يتم تمكينه افتراضيًا بعد. ستكون الخطوة التالية هي نقل التغييرات المعدة إلى الهيكل الرئيسي لـ Glibc وLLVM، ومواصلة اختبار وتصحيح المشكلات غير النمطية التي تظهر. لقد تم بالفعل قبول بعض التصحيحات في فرع Glibc 2.37.

المصدر: opennet.ru

إضافة تعليق