GCC 12.1 už vyšlo a toto sú jeho novinky

Po roku vývoja Vydaný stavebný balík GCC 12.1, prvé významné vydanie na novej vetve GCC 12.x.

Podľa novej schémy číslovania verzií bola pri vývoji použitá verzia 12.0 a krátko pred vydaním GCC 12.1 už bola vetva GCC 13.0 rozvetvená, z ktorej sa vytvorí ďalšia hlavná verzia GCC 13.1.

GCC 12.1 Hlavné nové funkcie

V tejto novej verzii, ktorá je prezentovaná, je zdôraznené, že se pridaná podpora pre formát ladenia CTF, ktorý poskytuje kompaktné ukladanie informácií o typoch C, vzťahoch medzi funkciami a symboloch ladenia. Keď je formát vložený do objektov ELF, umožňuje použitie tabuliek symbolov EFL, aby sa zabránilo duplicite údajov.

Okrem toho sa poznamenáva, že pokračuje práca na rozširovaní podpory pre budúce štandardy C2X a C++23 pre C a C++ a to tiež kompatibilita s experimentálne časti noriem C++20 a C++23 boli vylepšené v štandardnej knižnici C++.

Pre architektúru x86 pridal dodatočnú ochranu proti zraniteľnosti procesora spôsobenej špekulatívnym vykonávaním inštrukcií po bezpodmienečných operáciách skoku vpred. Problém vzniká pri preemptívnom spracovaní inštrukcií bezprostredne nasledujúcich po inštrukcii skoku v pamäti (SLS, Straight Line Speculation). Na aktiváciu ochrany sa odporúča možnosť „-mharden-sls“.

Je tiež zdôraznené, že pridaná definícia pre použitie neinicializovaných premenných do experimentálneho statického analyzátora. Pridaná počiatočná podpora pre analýzu kódu zostavy na vložených vložkách. Vylepšené sledovanie pamäte. Prepísaný kód na spracovanie výrazov zmien.

Boli pridané 30 nových volaní do libgccjit, zdieľaná knižnica na vloženie generátora kódu do iných procesov a jeho použitie na bajtový kód JIT na kompiláciu natívneho kódu.

Na druhej strane sa zdôrazňuje, že podpora mechanizmu CO-RE (Compile Once - Run Everywhere) do backendu na vygenerovanie BPF bajtkódu, ktorý umožňuje zostaviť kód programov eBPF pre jadro Linux iba raz a použiť špeciálny univerzálny zavádzač, ktorý prispôsobí načítaný program aktuálnemu jadru a typom BTF (formát typu BPF). CO-RE rieši problém s prenosnosťou skompilovaných programov eBPF, ktoré sa predtým dali použiť iba vo verzii jadra, pre ktorú boli zostavené, pretože pozícia prvkov v dátových štruktúrach sa líši od verzie k verzii.

bol pridaný do Podpora backendu RISC-V pre nové rozšírenia architektúry inštrukčných sád zba, zbb, zbc a zbs, ako aj rozšírenia ISA pre vektorové a skalárne kryptografické operácie. Štandardne je poskytovaná podpora pre špecifikáciu RISC-V ISA 20191213. Pridaný príznak -mtune=thead-c906 na umožnenie optimalizácie pre jadrá T-HEAD c906.

Pridané podpora pre typ __int128_t/integer(druh=16) do backendu generovania kódu pre AMD GPU založené na mikroarchitektúre GCN. Je možné použiť až 40 pracovných skupín na výpočtovú jednotku (CU) a až 16 front inštrukcií (wavefront, sada vlákien vykonávaných paralelne SIMD Engine) na skupinu. Predtým bola povolená iba jedna hrana inštrukcie na CU.

Indikátory „-march“, „-mptx“ a „-march-map“ boli pridané do backendu NVPTX, určený na generovanie kódu pomocou architektúry inštrukčnej sady NVIDIA PTX (Parallel Thread Execution). Implementovaná podpora pre PTX ISA sm_53, sm_70, sm_75 a sm_80. Predvolená architektúra je sm_30.

Okrem toho sa zdôrazňuje, že opravený problém, kedy kompilátor vykonával nekvalifikované vyhľadávanie závislého operátorového výrazu v čase definície šablóny a nie v čase inštancie. Toto riešenie zodpovedá existujúcemu správaniu pre závislé volacie výrazy.

Za zmienku stojí, že 23. mája projekt oslávi 35 rokov od vzniku prvého vydania GCC. Konečne ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.