GCC 12.1 è già stato rilasciato e queste sono le sue novità

Dopo un anno di sviluppo Pacchetto build GCC 12.1 rilasciato, la prima release significativa sul nuovo ramo GCC 12.x.

Con il nuovo schema di numerazione delle versioni, durante lo sviluppo è stata utilizzata la versione 12.0 e, poco prima del rilascio di GCC 12.1, il ramo GCC 13.0 era già biforcato, da cui verrà formata la prossima versione principale di GCC 13.1.

GCC 12.1 Nuove funzionalità principali

In questa nuova versione che viene presentata, si evidenzia che l'arte aggiunto il supporto per il formato di debug CTF, che fornisce una memorizzazione compatta delle informazioni sui tipi C, le relazioni tra le funzioni e i simboli di debug. Quando è incorporato in oggetti ELF, il formato consente l'uso di tabelle di simboli EFL per evitare la duplicazione dei dati.

Oltre a questo, si segnala che il lavoro continua per espandere il supporto per i futuri standard C2X e C++23 per C e C++ e che anche il compatibilità con le sezioni sperimentali delle norme C++20 e C++23 sono stati migliorati nella libreria standard C++.

Per l'architettura x86, ha aggiunto una protezione aggiuntiva contro le vulnerabilità del processore causate dall'esecuzione speculativa di istruzioni dopo operazioni di salto in avanti incondizionate. Il problema nasce dall'elaborazione preventiva delle istruzioni immediatamente successive all'istruzione di salto in memoria (SLS, Straight Line Speculation). L'opzione "-mharden-sls" è suggerita per abilitare la protezione.

Si evidenzia anche questo aggiunta una definizione per l'uso di variabili non inizializzate all'analizzatore statico sperimentale. Aggiunto supporto iniziale per l'analisi del codice assembly negli inserti in linea. Tracciamento della memoria migliorato. Codice riscritto per gestire le espressioni di modifica.

Erano aggiunti 30 nuove chiamate a libgccjit, una libreria condivisa per incorporare un generatore di codice in altri processi e utilizzarlo per la compilazione di codice JIT da bytecode a codice nativo.

D'altra parte, si evidenzia che il supporto al meccanismo CO-RE (Compile Once - Run Everywhere) nel back-end per generare bytecode BPF, che permette di compilare il codice dei programmi eBPF per il kernel Linux solo una volta e utilizzare uno speciale caricatore universale che adatta il programma caricato al kernel corrente e ai tipi BTF (formato di tipo BPF). CO-RE risolve il problema con la portabilità dei programmi eBPF compilati che in precedenza potevano essere utilizzati solo nella versione del kernel per cui erano stati creati, poiché la posizione degli elementi nelle strutture dati varia da versione a versione.

è stato aggiunto a Supporto del backend RISC-V per le nuove estensioni dell'architettura di set di istruzioni zba, zbb, zbc e zbs, nonché estensioni ISA per operazioni crittografiche vettoriali e scalari. Il supporto per la specifica RISC-V ISA 20191213 è fornito per impostazione predefinita. Aggiunto il flag -mtune=thead-c906 per abilitare le ottimizzazioni per i kernel T-HEAD c906.

Aggiunto supporto per il tipo __int128_t/integer(kind=16) al backend di generazione del codice per GPU AMD basato sulla microarchitettura GCN. È possibile utilizzare fino a 40 gruppi di lavoro per unità di calcolo (CU) e fino a 16 fronti di istruzione (wavefront, un insieme di thread eseguiti in parallelo dal SIMD Engine) per gruppo. In precedenza, era consentito un solo fronte di istruzione per CU.

Gli indicatori "-march", "-mptx" e "-march-map" sono stati aggiunti al backend NVPTX, progettato per la generazione di codice utilizzando l'architettura del set di istruzioni NVIDIA PTX (Parallel Thread Execution). Supporto implementato per PTX ISA sm_53, sm_70, sm_75 e sm_80. L'architettura predefinita è sm_30.

Oltre a ciò, si evidenzia che risolto un problema per cui il compilatore eseguiva una ricerca non qualificata di un'espressione di operatore dipendente al momento della definizione del modello piuttosto che al momento dell'istanza. Questa soluzione corrisponde al comportamento esistente per le espressioni di chiamata dipendenti.

Vale la pena ricordare che il 23 maggio il progetto celebrerà i 35 anni dalla formazione del primo rilascio di GCC. Infine se sei interessato a saperne di più, puoi controllare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.