Το GCC 12.1 έχει ήδη κυκλοφορήσει και αυτά είναι τα νέα του

Μετά από ένα χρόνο ανάπτυξης Κυκλοφόρησε το πακέτο κατασκευής GCC 12.1, η πρώτη σημαντική κυκλοφορία στον νέο κλάδο GCC 12.x.

Σύμφωνα με το νέο σχήμα αρίθμησης εκδόσεων, η έκδοση 12.0 χρησιμοποιήθηκε κατά την ανάπτυξη και λίγο πριν την κυκλοφορία του GCC 12.1, ο κλάδος GCC 13.0 είχε ήδη διαχωριστεί, από τον οποίο θα δημιουργηθεί η επόμενη κύρια έκδοση του GCC 13.1.

GCC 12.1 Κύρια νέα χαρακτηριστικά

Σε αυτή τη νέα έκδοση που παρουσιάζεται, επισημαίνεται ότι η sΠροστέθηκε υποστήριξη για τη μορφή εντοπισμού σφαλμάτων CTF, που παρέχει συμπαγή αποθήκευση πληροφοριών σχετικά με τύπους C, σχέσεις μεταξύ συναρτήσεων και σύμβολα εντοπισμού σφαλμάτων. Όταν ενσωματώνεται σε αντικείμενα ELF, η μορφή επιτρέπει τη χρήση πινάκων συμβόλων EFL για την αποφυγή διπλών δεδομένων.

Επιπλέον, σημειώνεται ότι Οι εργασίες συνεχίζονται για την επέκταση της υποστήριξης για μελλοντικά πρότυπα C2X και C++23 για C και C++ και ότι επίσης το συμβατότητα με τα πειραματικά τμήματα των προτύπων Τα C++20 και C++23 έχουν βελτιωθεί στην τυπική βιβλιοθήκη C++.

Για αρχιτεκτονική x86, πρόσθεσε πρόσθετη προστασία από ευπάθειες σε επεξεργαστές που προκαλούνται από κερδοσκοπική εκτέλεση εντολών μετά από λειτουργίες άνευ όρων άλματος προς τα εμπρός. Το πρόβλημα προκύπτει από την προληπτική επεξεργασία των οδηγιών που ακολουθούν αμέσως την εντολή άλματος στη μνήμη (SLS, Straight Line Speculation). Προτείνεται η επιλογή «-mharden-sls» για την ενεργοποίηση της προστασίας.

Τονίζεται επίσης ότι πρόσθεσε έναν ορισμό για τη χρήση μη αρχικοποιημένων μεταβλητών στον πειραματικό στατικό αναλυτή. Προστέθηκε αρχική υποστήριξη για ανάλυση κώδικα assembler σε ενσωματωμένα ένθετα. Βελτιωμένη παρακολούθηση μνήμης. Ξαναγραμμένος κώδικας για χειρισμό εκφράσεων διακόπτη.

Προστέθηκαν 30 νέες κλήσεις στο libgccjit, μια κοινόχρηστη βιβλιοθήκη για την ενσωμάτωση μιας γεννήτριας κώδικα σε άλλες διεργασίες και τη χρήση της για μεταγλώττιση από το bytecode JIT σε εγγενή κώδικα.

Από την άλλη πλευρά, αξίζει να σημειωθεί ότι η υποστήριξη για τον μηχανισμό CO-RE (Δημιουργία μία φορά - Εκτέλεση παντού) στο backend για τη δημιουργία bytecode BPF, το οποίο επιτρέπει τη μεταγλώττιση του κώδικα των προγραμμάτων eBPF για τον πυρήνα Linux μόλις μια φορά και χρησιμοποιήστε έναν ειδικό γενικό φορτωτή που προσαρμόζει το φορτωμένο πρόγραμμα στον τρέχοντα τύπο πυρήνα και BTF (μορφή τύπου BPF). Το CO-RE λύνει το πρόβλημα με τη φορητότητα των μεταγλωττισμένων προγραμμάτων eBPF που προηγουμένως μπορούσαν να χρησιμοποιηθούν μόνο στην έκδοση πυρήνα για την οποία είχαν κατασκευαστεί, καθώς η θέση των στοιχείων στις δομές δεδομένων διαφέρει από έκδοση σε έκδοση.

έχει προστεθεί σε Υποστήριξη backend RISC-V για νέες επεκτάσεις αρχιτεκτονικής των συνόλων οδηγιών zba, zbb, zbc και zbs, καθώς και επεκτάσεις ISA για διανυσματικές και βαθμωτές κρυπτογραφικές πράξεις. Η υποστήριξη για την προδιαγραφή RISC-V ISA 20191213 παρέχεται από προεπιλογή. Προστέθηκε flag -mtune=tune-c906 για να ενεργοποιηθούν οι βελτιστοποιήσεις για πυρήνες T-HEAD c906.

Προστέθηκε πληκτρολογήστε support __int128_t/integer(kind=16) στο backend δημιουργίας κώδικα για GPU AMD με βάση τη μικροαρχιτεκτονική του GCN. Είναι δυνατή η χρήση έως και 40 ομάδων εργασίας ανά υπολογιστική μονάδα (CU) και έως 16 μέτωπα εντολών (μέτωπο κύματος, ένα σύνολο νημάτων που εκτελούνται παράλληλα από το SIMD Engine) ανά ομάδα. Προηγουμένως, επιτρεπόταν μόνο ένα άκρο εντολής ανά CU.

Οι δείκτες Τα "-march", "-mptx" και "-march-map" προστέθηκαν στο backend NVPTX, σχεδιασμένο για δημιουργία κώδικα χρησιμοποιώντας την αρχιτεκτονική συνόλου εντολών NVIDIA PTX (Parallel Thread Execution). Υλοποιήθηκε υποστήριξη για PTX ISA sm_53, sm_70, sm_75 και sm_80. Η προεπιλεγμένη αρχιτεκτονική είναι sm_30.

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

Αξίζει να αναφέρουμε ότι στις 23 Μαΐου, το έργο θα γιορτάσει τα 35 χρόνια από τη δημιουργία της πρώτης κυκλοφορίας του GCC. Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Γίνε ο πρώτος που θα σχολιάσει

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

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

*

*

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