نتایج بازسازی پایگاه داده بسته دبیان با استفاده از Clang 10

سیلوستر لدرو منتشر شده نتیجه بازسازی آرشیو بسته دبیان گنو/لینوکس با استفاده از کامپایلر Clang 10 به جای GCC. از 31014 بسته، 1400 بسته (4.5%) قابل ساخت نبودند، اما با اعمال یک پچ اضافی در جعبه ابزار دبیان، تعداد بسته های ساخته نشده به 1110 بسته (3.6%) کاهش یافت. برای مقایسه، هنگام ساخت در Clang 8 و 9، تعداد بسته هایی که نمی توانند ساخته شوند در 4.9٪ باقی مانده است.

آزمایش ساخت بر روی 250 مشکل ناشی از تصادفات ناشی از خطاها در Qmake و 177 شماره، مربوط با تولید نمادهای مختلف در کتابخانه ها. با افزودن یک پچ ساده به dpkg-gensymbols برای درمان خطای مقایسه نماد هنگام پیوند به عنوان یک هشدار، و با جایگزینی فایل‌های پیکربندی g++ در qmake، توانستیم خرابی‌ها را برای ساخت حدود 290 بسته برطرف کنیم.

از بقیه چالش ها و مسائل، که منجر به خرابی ساخت در Clang می شود، رایج ترین خطاها به دلیل عدم وجود برخی از فایل های هدر، نوع ریخته گری، فضای خالی بین یک کلمه و یک شناسه، مشکلات در اتصال، عدم بازگشت مقدار از یک تابع غیر خالی است. ، با استفاده از مقایسه مرتب یک اشاره گر با null، عدم وجود تعاریف.

منبع: opennet.ru

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