GCC 12.1 jau buvo išleistas ir tai yra jos naujienos

Po metų plėtros Išleistas GCC 12.1 versijos paketas, pirmasis reikšmingas naujosios GCC 12.x šakos leidimas.

Pagal naują versijų numeravimo schemą kūrimo metu buvo naudojama 12.0 versija, o prieš pat GCC 12.1 išleidimą jau buvo išsišakojusi GCC 13.0 atšaka, iš kurios bus suformuota kita pagrindinė GCC 13.1 versija.

PĮKT 12.1 Pagrindinės naujos savybės

Šioje pateiktoje naujoje versijoje pabrėžiama, kad spapildomas CTF derinimo formato palaikymas, kuriame kompaktiškai saugoma informacija apie C tipus, ryšius tarp funkcijų ir derinimo simbolius. Įterpus į ELF objektus, formatas leidžia naudoti EFL simbolių lenteles, kad būtų išvengta duomenų dubliavimo.

Be to, pažymima, kad toliau plėtojama būsimų C2X ir C++23 standartų, skirtų C ir C++, palaikymas ir tai taip pat suderinamumas su standartų eksperimentinės dalys C++20 ir C++23 buvo patobulinti C++ standartinėje bibliotekoje.

Dėl architektūros x86, pridėta papildoma apsauga nuo procesoriaus spragų, atsirandančių dėl spekuliatyvaus vykdymo instrukcijų po besąlyginių peršokimo į priekį operacijų. Problema kyla dėl prevencinio instrukcijų apdorojimo iškart po šuolio instrukcijos atmintyje (SLS, Straight Line Speculation). Apsaugai įjungti siūloma parinktis „-mharden-sls“.

Taip pat pabrėžiama pridėjo nepainicijuotų kintamųjų naudojimo apibrėžimą prie eksperimentinio statinio analizatoriaus. Pridėtas pradinis surinkimo kodo analizės palaikymas įterptiniuose intarpuose. Patobulintas atminties sekimas. Perrašytas kodas, kad būtų galima apdoroti keitimo išraiškas.

Buvo pridėta 30 naujų skambučių į libgccjit, bendrinamą biblioteką, skirtą kodo generatoriui įterpti į kitus procesus ir naudoti jį JIT baitiniam kodui kompiliuoti į vietinį kodą.

Kita vertus, pabrėžiama, kad parama CO-RE mechanizmui (Kompiliuoti vieną kartą – paleisti visur) į užpakalinę programą, kad sugeneruotumėte BPF baitinį kodą, kuris leidžia kompiliuoti branduolio eBPF programų kodus „Linux“ tik vieną kartą ir naudoti specialų universalų krautuvą, kuris pritaiko įkeliamą programą prie esamų branduolio ir BTF tipų (BPF tipo formatas). CO-RE išsprendžia sukompiliuotų eBPF programų, kurios anksčiau galėjo būti naudojamos tik branduolio versijoje, kuriai jos buvo sukurtos, perkeliamumo problemą, nes elementų padėtis duomenų struktūrose įvairiose versijose skiriasi.

buvo pridėta prie RISC-V backend palaikymas naujiems architektūros plėtiniams instrukcijų rinkinių zba, zbb, zbc ir zbs, taip pat ISA plėtinius vektorinėms ir skaliarinėms kriptografinėms operacijoms. RISC-V ISA 20191213 specifikacijos palaikymas teikiamas pagal numatytuosius nustatymus. Pridėta vėliavėlė -mtune=thead-c906, kad būtų galima optimizuoti T-HEAD c906 branduolius.

Pridėta palaikymas tipo __int128_t/integer(kind=16) į kodo generavimo pagrindinę programą skirta AMD GPU paremtas GCN mikroarchitektūra. Viename skaičiavimo vienete (CU) galima naudoti iki 40 darbo grupių ir iki 16 instrukcijų frontų (bangos frontas, gijų rinkinys, lygiagrečiai vykdomas SIMD variklio) vienoje grupėje. Anksčiau vienai CU buvo leidžiama naudoti tik vieną nurodymų briauną.

Rodikliai „-march“, „-mptx“ ir „-march-map“ buvo įtraukti į NVPTX užpakalinę programą, sukurtas kodų generavimui naudojant NVIDIA PTX (Parallel Thread Execution) instrukcijų rinkinio architektūrą. Įdiegtas PTX ISA sm_53, sm_70, sm_75 ir sm_80 palaikymas. Numatytoji architektūra yra sm_30.

Be to, pabrėžiama, kad ištaisyta problema, kai kompiliatorius atliko nekvalifikuotą paiešką priklausomo operatoriaus išraiška šablono apibrėžimo, o ne egzempliorių metu. Šis sprendimas atitinka esamą priklausomų skambinimo išraiškų elgesį.

Verta paminėti, kad gegužės 23 d. projektas švęs 35-erius metus nuo pirmosios GCC leidimo sukūrimo. Pagaliau jei norite sužinoti daugiau apie tai, galite patikrinti išsamią informaciją Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.