Στο GCC ενέκριναν την εφαρμογή του RUST (gccrs)

Πρόσφατα τα νέα το έσπασαν η Διευθύνουσα Επιτροπή του ΣΣΚ ενέκρινε τη συμπερίληψη της εφαρμογής gccrs (GCC Rust) από τον μεταγλωττιστή Rust στον πυρήνα του GCC.

Με αυτό GCC (Συλλογή μεταγλωττιστή GNU) έχουν ήδη ένα backend για το Rust, μέσω του έργου που ονομάζεται rustc_codegen_gcc που ιδρύθηκε από τον Antoni Boucher. Περιγράφεται ακόμη ως έργο σε εξέλιξη, αλλά συγχωνεύτηκε στο κύριο αποθετήριο Rust τον Σεπτέμβριο του 2021.

Για όσους δεν ξέρουν τη γλώσσα Σκουριά, πρέπει να γνωρίζουν τι είναιΤο e εστιάζει στην ασφαλή διαχείριση μνήμης και παρέχει τα μέσα για την επίτευξη υψηλού εργασιακού παραλληλισμού. Ο ασφαλής χειρισμός μνήμης, ο οποίος αποκλείει σφάλματα όπως η πρόσβαση σε μια περιοχή μνήμης μετά την απελευθέρωσή της, η αποσύνδεση μηδενικών δεικτών και η υπερχείλιση ορίων προσωρινής μνήμης, επιτυγχάνεται στο Rust κατά τον χρόνο μεταγλώττισης μέσω ελέγχου για αναφορές, παρακολούθησης ιδιοκτησίας αντικειμένων, καταγραφής της διάρκειας ζωής των αντικειμένων (πεδία ), και την αξιολόγηση της ορθότητας της πρόσβασης στη μνήμη κατά την εκτέλεση του κώδικα.

Σκωρία παρέχει επίσης προστασία υπερχείλισης ακεραίων, απαιτεί την προετοιμασία των μεταβλητών πριν από τη χρήση, χειρίζεται καλύτερα τα σφάλματα στην τυπική βιβλιοθήκη, επιβάλλει την έννοια των αναφορών και των αμετάβλητων μεταβλητών από προεπιλογή.

Μετά την ενσωμάτωση της διεπαφής, στο τυπικό GCC μπορεί να χρησιμοποιηθεί για τη μεταγλώττιση προγραμμάτων Rust χωρίς την ανάγκη εγκατάστασης του μεταγλωττιστή rustc που έχει κατασκευαστεί με εκδόσεις LLVM.

Από τον Νοέμβριο του 2020, εργάζομαι με πλήρη απασχόληση στη διεπαφή Rust για το GCC, χάρη στην Open Source Security, Inc και το Embecosm. Ως αποτέλεσμα, γράφω σε αυτήν τη λίστα αλληλογραφίας για να αναζητήσω σχόλια από τη συλλογική εμπειρία εδώ νωρίς για να σχεδιάσω μια διαδρομή για τη μεταφόρτωση της διεπαφής στο GCC.

Η σημασία αυτού του έργου είναι η σημασία του για το Linux, γενικά κατασκευασμένο με GCC, όπου τα σχέδια να επιτραπεί η χρήση του Rust μαζί με το C για κώδικα πυρήνα, για λόγους ασφάλειας της μνήμης, προχωρούν συνεχώς.

Αυτό σημαίνει ότι ο μεταγλωττιστής Rust, rustc, μπορεί να χρησιμοποιηθεί με το backend του GCC, Το backend είναι η γεννήτρια κώδικα που υποστηρίζει περισσότερες αρχιτεκτονικές CPU από το LLVM, τον συνηθισμένο μεταγλωττιστή backend της Rust, αν και υπάρχουν περιορισμοί, όπως η απαίτηση μιας επιδιορθωμένης έκδοσης του GCC.

Η εναλλακτική είναι να έχετε μια πλήρη αλυσίδα εργαλείων GCC. Τον Ιανουάριο του 2021, η Open Source Security, Inc, κατασκευαστής μιας σκληρυμένης έκδοσης του πυρήνα Linux που ονομάζεται Grsecurity, δήλωσε ότι θα χρηματοδοτήσει μια "δημόσια προσπάθεια ανάπτυξης" μιας διεπαφής GCC για το Rust, με το σκεπτικό ότι βελτίωσε την ασφάλεια. για τη μίξη διαφορετικών μεταγλωττιστών.

Από τη σκοπιά μου ως ηγέτης σε αυτό το front-end, είμαστε αυτή τη στιγμή υπό έντονη ανάπτυξη, επομένως αυτό σημαίνει ότι περιστρέφεται αρκετός κώδικας ακόμα, και δεν βλέπω αυτό να αλλάζει μέχρι να μπορέσουμε να μεταγλωττίσουμε με επιτυχία το libcore box αργότερα φέτος. Αν και θα ήθελα να δω ο ένας τον άλλον συγχωνεύτηκαν στο GCC 13, θέλω να βεβαιωθώ ότι αυτό το έργο θα είναι επιτυχημένο όλα, και αυτό θα μπορούσε να σημαίνει επιστροφή στο επόμενο παράθυρο κυκλοφορίας για να βεβαιωθείτε ότι αυτό είναι διαχειρίσιμο για να δημιουργήσετε ένα ποιοτικό μπροστινό μέρος για να καθίσετε μαζί σε άλλους.

Η εταιρεία ανέφερε ένα έγγραφο που δείχνει «πώς η συνολική ασφάλεια ενός περιβάλλοντος χρόνου εκτέλεσης μπορεί να μειωθεί με την εισαγωγή κώδικα γραμμένου σε Rust ή σε άλλη γλώσσα όπου ο μεταγλωττιστής δεν παρέχει την ίδια ασφάλεια δυαδικού επιπέδου».

Οι προγραμματιστές του gccrs ενθαρρύνονται να αρχίσουν να εργάζονται με ομάδες ελέγχου και GCC Change Release για την οριστικοποίηση και έγκριση των ενημερώσεων κώδικα όσον αφορά την εκπλήρωση των τεχνικών απαιτήσεων για την προσθήκη κώδικα στο GCC.

Υποθέτοντας ότι η ανάπτυξη του gccrs συνεχίζεται όπως έχει προγραμματιστεί και δεν εντοπίζονται απρόβλεπτα ζητήματα, η διεπαφή γλώσσας Rust θα ενσωματωθεί στην κυκλοφορία του GCC 13 που έχει προγραμματιστεί για τον Μάιο του επόμενου έτους. Η εφαρμογή Rust στο GCC 13 θα βρίσκεται σε κατάσταση beta, δεν είναι ακόμη ενεργοποιημένη από προεπιλογή.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό σχετικά με το έργο, μπορείτε να συμβουλευτείτε τις λεπτομέρειες στο τον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   qtrit dijo

    Τέλεια, ελπίζω η εφαρμογή να είναι χρήσιμη για πολλούς προγραμματιστές.