نتائج إعادة بناء قاعدة بيانات حزمة دبيان باستخدام Clang 10

سيلفستر ليدرو نشرت نتيجة إعادة بناء أرشيف حزمة Debian GNU/Linux باستخدام مترجم Clang 10 بدلاً من مجلس التعاون الخليجي. من بين 31014 حزمة، لم يكن من الممكن بناء 1400 (4.5%)، ولكن بتطبيق تصحيح إضافي على مجموعة أدوات دبيان، انخفض عدد الحزم غير المبنية إلى 1110 (3.6%). للمقارنة، عند البناء في Clang 8 و9، بقي عدد الحزم التي لا يمكن بناؤها عند 4.9%.

ركزت تجربة البناء على 250 مشكلة ناجمة عن الأعطال بسبب أخطاء في Qmake، و177 قضية، ذات صلة مع توليد الرموز المختلفة في المكتبات. من خلال إضافة تصحيح بسيط إلى dpkg-gensymbols لمعالجة خطأ مقارنة الرموز عند الارتباط كتحذير، ومن خلال استبدال ملفات تكوين g++ في qmake، تمكنا من إصلاح الفشل في إنشاء حوالي 290 حزمة.

عن بقية проблем، مما يؤدي إلى فشل البناء في Clang، وترجع الأخطاء الأكثر شيوعًا إلى غياب بعض ملفات الرأس، ونوع الإرسال، وفقدان المسافة بين الحرفي والمعرف، ومشاكل الارتباط، والفشل في إرجاع قيمة من دالة غير باطلة ، باستخدام مقارنة مرتبة للمؤشر مع عدم وجود تعريفات.

المصدر: opennet.ru

إضافة تعليق