הטמיע את היכולת לבנות Glibc באמצעות ערכת הכלים LLVM

מהנדסים מ-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

הוספת תגובה