GCC 12.1 ja va ser alliberat i aquestes són les novetats

Després d'un any de desenvolupament es va llançar el paquet de compilació GCC 12.1, el primer llançament significatiu a la nova branca GCC 12.x.

Sota el nou esquema de numeració de versions, es va fer servir la versió 12.0 durant el desenvolupament, i poc abans del llançament de GCC 12.1, la branca GCC 13.0 ja estava bifurcada, a partir de la qual es formarà la propera versió important de GCC 13.1.

Principals novetats de GCC 12.1

En aquesta nova versió que es presenta, es destaca que si va afegir el suport per al format de depuració CTF, que proporciona emmagatzematge compacte dinformació sobre tipus C, relacions entre funcions i símbols de depuració. Quan està incrustat en objectes ELF, el format permet utilitzar taules de símbols EFL per evitar la duplicació de dades.

A més, es destaca que es continua treballant per ampliar la compatibilitat amb futurs estàndards C2X i C++23 per a C i C++ i que a més la compatibilitat amb les seccions experimentals dels estàndards C++20 i C++23 s'han millorat a la biblioteca estàndard de C++.

Per l'arquitectura x86, s'hi va afegir protecció addicional contra vulnerabilitats als processadors causades per l'execució especulativa instruccions després d'operacions de salt cap endavant incondicionals. El problema sorgeix del processament preventiu de les instruccions que segueixen immediatament a la instrucció de salt a la memòria (SLS, Straight Line Speculation). Se suggereix l'opció "-mharden-sls" per habilitar la protecció.

També es destaca que es va afegir una definició per a l'ús de variables no inicialitzades a l'analitzador estàtic experimental. Es va afegir suport inicial per analitzar codi assemblador en insercions en línia. Seguiment de memòria millorat. Codi reescrit per gestionar expressions de canvi.

es van agregar 30 noves trucades a libgccjit, una biblioteca compartida per incorporar un generador de codi en altres processos i utilitzar-lo per a la compilació de codi de bytes JIT a codi nadiu.

D'altra banda, es destaca que s'hi va afegir el suport per al mecanisme CO-RE (Compilar una vegada – Executar a tot arreu) al backend per generar bytecode BPF, que permet compilar el codi dels programes eBPF per al nucli des de Linux només una vegada i utilitzar un carregador universal especial que adapta el programa carregat al nucli actual i tipus BTF (format tipus BPF). CO-RE resol el problema amb la portabilitat dels programes eBPF compilats que anteriorment només es podien fer servir en la versió del nucli per a la qual van ser construïts, ja que la posició dels elements a les estructures de dades varia d'una versió a una altra.

S'ha afegit al backend RISC-V suport per a noves extensions d'arquitectura de conjunts d'instruccions zba, zbb, zbc i zbs, així com extensions ISA per a operacions criptogràfiques vectorials i escalars. La compatibilitat amb l'especificació RISC-V ISA 20191213 es proporciona per defecte . L'indicador -mtune=thead-c906 s'ha afegit per habilitar les optimitzacions per als nuclis T-HEAD c906.

es va agregar compatibilitat amb el tipus __int128_t/integer(kind=16) al backend de generació de codi per a les GPU AMD basades en la microarquitectura GCN. És possible utilitzar fins a 40 grups de treball per unitat de còmput (CU) i fins a 16 fronts d'instrucció (davant d'ona, un conjunt de fils executats en paral·lel pel SIMD Engine) per grup. Anteriorment només es permetia una vora d'instrucció per CU.

els indicadors "-march", "-mptx" i "-march-map" es van afegir al backend NVPTX, dissenyat per a la generació de codi utilitzant l'arquitectura de conjunt d'instruccions NVIDIA PTX (Parallel Thread Execution). Suport implementat per a PTX ISA sm_53, sm_70, sm_75 i sm_80. L'arquitectura per defecte és sm_30.

A més d'això es destaca que es va solucionar un problema pel qual el compilador realitzava una cerca no qualificada d'una expressió d'operador dependent en el moment de la definició de la plantilla en comptes de crear instàncies. Aquesta solució coincideix amb el comportament existent per a les expressions de trucades dependents.

cal esmentar que el 23 de maig, el projecte celebrarà 35 anys des de la formació del primer llançament de GCC. Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls en el següent enllaç.


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.