gccrs ישולבו ב-GCC 13

gccrs

gccrs הוא יישום חלופי מלא של שפת Rust על פני GCC

לאחרונה נחשף כי פרויקט gccrs, שמטרתו לספק ממשק לשפת Rust ל-GCC (אוסף GNU Compiler), נמצא בדרכו להשתלב ב-GCC 13.  בכנס המפתחים של FOSDEM בתחילת החודש, המהנדס ארתור כהן נשא מצגת על gccrs המתאר את המצב הנוכחי של העבודה.

למי שלא מודע לפרויקט gccrs, הם צריכים לדעת שזהו יישום חלופי מלא של שפת Rust על גבי GCC במטרה להפוך באופן מלא לשרשרת הכלים של GNU.

מקור הפרויקט הזה הוא מאמץ קהילתי לפני מספר שנים, כאשר Rust עדיין היה בגרסה 0.9; השפה שיצרה מוזילה הייתה נתונה לכל כך הרבה שינויים עד שקשה היה למאמץ קהילתי להדביק את הפער.

עכשיו כשהשפה יציבה, הגיע הזמן ליצור מהדרים חלופיים:

"החל ב-2014 (והושק מחדש ב-2019), המאמץ נמשך מאז 2020 ועשינו הרבה מאמץ והתקדמות רבה. העלינו את הגרסה הראשונה של gccrs בתוך GCC. אז בפעם הבאה שתתקין את GCC 13, יהיו לו gccrs בפנים.

אתה יכול להשתמש בו ואתה יכול להתחיל לפרוץ אותו, אתה יכול לדווח על הבעיות כאשר הוא קורס ומת בצורה נוראית. דבר אחד גדול שאנחנו עושים הוא לעבוד על כך שחבילת הבדיקה rustc תעבוד", אמר ארתור כהן במהלך המצגת שלו בכנס FOSDEM בתחילת החודש.

גם היכולת להריץ בהצלחה את חבילת הבדיקות של מהדר rustc נותרה מטרה. לדברי כהן, ממשק GCC של Rust מצביע גם על Rust libcore 1.49 הישנה יותר.

השאלות הנפוצות של פרויקט gccrs מציינת כי כל טכנולוגיות הבנייה של LLVM, המשמשות את Rust, "חסרות כמה קצה אחורי תואם GCC, כך יישום gccrs יכול להשלים את החסר לשימוש בפיתוח משובץ".

שים לב, עם זאת, מהדר Rust-GCC (gccrs) עדיין בשלב מוקדם מאוד ועדיין לא ניתן להשתמש בו כדי להדר תוכניות Rust בפועל.

צוות GCC הצביע ביולי האחרון לאשר את שילוב ה-gccrs כסוויטה לבנות. החשיבות של פרויקט זה טמונה בחשיבותו לליבת לינוקס. למעשה, ליבת לינוקס בנויה בדרך כלל עם GCC, אך התוכניות לאפשר שימוש בשפת Rust לצד C עבור קוד ליבה, מטעמי בטיחות זיכרון, מתקדמות בהתמדה.

פרויקט "Rust for Linux" התמזג רשמית לתוך עץ Linux 6.1 Git הראשי באוקטובר האחרון, והפך את Rust לשפה השנייה המוקדשת לפיתוח לינוקס, לאחר 31 שנים של פיתוח בלעדי מבוסס C.

"אנחנו רוצים ש-gccrs יהיה מהדר Rust אמיתי ולא פרויקט צעצוע או משהו שמרכיב שפה שנראית כמו Rust אבל היא לא Rust; אנחנו באמת מנסים לגרום לחבילת הבדיקה הזו לעבוד", הוסיף. במהלך המצגת אמר כהן כי בעוד שממשק Rust של GCC 13 מתחיל טוב, יש עוד הרבה עבודה לעשות. קוד אימות שאול נעדר באופן בולט כרגע, התמיכה במודולים מובנים ומקוריים עדיין נמשכת, ואבן הדרך החשובה של הידור קוד Rust עבור לינוקס טרם הושגה.

כזכור, הפרויקט "חלודה ללינוקס" שואפת להציג שפת תכנות מערכת חדשה לתוך ליבת לינוקס. לדברי מומחים, לשפת Rust יש תכונה מרכזית שהופך אותה למעניינת מאוד להתייחס אליה כשפה השנייה של ליבת לינוקס: היא מבטיחה שלא תתרחש התנהגות לא מוגדרת (כל עוד הקוד הלא מאובטח שפוי).

זה כולל היעדר שגיאות כמו שימוש לאחר-חופשי, שחרורים כפולים, מירוצי נתונים וכו'. ויכוחים קשורים סובבים סביב האפשרות לבטל את C לטובת שפת החלודה. אבל לינוס טורוואלדס, היוצר של לינוקס, אמר שזו לא המטרה המוצהרת של פרויקט Rust for Linux.

לבסוף, ראוי להזכיר שלמרות שממשק gccrs אוחד עבור הגרסה הבאה של GCC 13, זה עדיין לא במצב שבו רוב מפתחי Rust יכולים להשתמש בו כחלופה למהדר ה-LLVM הרשמי של Rust.

זה לא אמור להיות עד שנה הבאה, לפחות עם GCC 14 לפחות.

מקור: https://fosdem.org/


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.