מהנדסים מ-Collabora פרסמו דוח על יישום פרויקט להבטחת ההרכבה של ספריית מערכת GNU C Library (glibc) באמצעות ערכת הכלים LLVM (Clang, LLD, compiler-rt) במקום GCC. עד לאחרונה, Glibc נשאר אחד המרכיבים המשמעותיים של הפצות שתמכו בבנייה רק באמצעות GCC.
הקשיים בהתאמת Glibc להרכבה באמצעות LLVM נגרמים הן מההבדלים בהתנהגות של GCC והן של Clang בעת עיבוד מבנים מסוימים (לדוגמה, ביטויים עם הסמל $, פונקציות מקוננות, תוויות בבלוקים של asm, סוגים ארוכים כפולים ו-float128), והצורך להחליף את זמן הריצה ב-libgcc ב-compiler-rt.
כדי להבטיח את ההרכבה של Glibc באמצעות LLVM, הוכנו כ-150 תיקונים עבור סביבת Gentoo ו-160 עבור הסביבה מבוססת ChromiumOS. במתכונתו הנוכחית, ה-build ב-ChromiumOS כבר עובר בהצלחה את חבילת הבדיקה, אך עדיין אינו מופעל כברירת מחדל. השלב הבא יהיה העברת השינויים המוכנים למבנה הראשי של Glibc ו-LLVM, המשך בדיקה ותיקון של בעיות לא טיפוסיות שצצות. חלק מהטלאים כבר התקבלו לסניף Glibc 2.37.
מקור: OpenNet.ru