GCC 12.1 je že izšel in to so njegove novice

Po letu razvoja Izdan paket gradnje GCC 12.1, prva pomembna izdaja v novi veji GCC 12.x.

V skladu z novo shemo številčenja različic je bila med razvojem uporabljena različica 12.0, malo pred izdajo GCC 12.1 pa je bila veja GCC 13.0 že razcepljena, iz katere bo nastala naslednja večja različica GCC 13.1.

GCC 12.1 Glavne nove funkcije

V tej novi različici, ki je predstavljena, je poudarjeno, da se dodana podpora za format za odpravljanje napak CTF, ki zagotavlja kompaktno shranjevanje informacij o vrstah C, odnosih med funkcijami in simbolih za odpravljanje napak. Ko je vdelana v objekte ELF, format omogoča uporabo tabel simbolov EFL, da se izognemo podvajanju podatkov.

Poleg tega je opozorjeno, da delo še naprej širi podporo za prihodnje standarde C2X in C++23 za C in C++ in to tudi združljivost z eksperimentalne dele standardov C++20 in C++23 sta bila izboljšana v standardni knjižnici C++.

Za arhitekturo x86 je dodala dodatno zaščito pred ranljivostmi procesorja, ki jih povzroča špekulativno izvajanje navodil po operacijah brezpogojnega skoka naprej. Problem nastane zaradi preventivne obdelave navodil, ki takoj sledijo navodilu za skok v pomnilniku (SLS, Straight Line Speculation). Za omogočanje zaščite je predlagana možnost "-mharden-sls".

Poudarjeno je tudi, da dodana definicija za uporabo neinicializiranih spremenljivk na eksperimentalni statični analizator. Dodana začetna podpora za razčlenjevanje montažne kode na vstavljenih vložkih. Izboljšano sledenje pomnilniku. Prepisana koda za obdelavo izrazov sprememb.

So bili dodani 30 novih klicev v libgccjit, skupna knjižnica za vdelavo generatorja kode v druge procese in njegovo uporabo za JIT bajtno kodo v izvorno prevajanje kode.

Po drugi strani pa je poudarjeno, da podpora za mehanizem CO-RE (Enkrat prevedi - Zaženi povsod) v zaledno stran, da ustvari bajtno kodo BPF, ki omogoča prevajanje kode programov eBPF za jedro Linux samo enkrat in uporabite poseben univerzalni nalagalnik, ki prilagodi naloženi program trenutnemu jedru in tipom BTF (format tipa BPF). CO-RE rešuje težavo s prenosljivostjo prevedenih programov eBPF, ki so se prej lahko uporabljali samo v različici jedra, za katero so bili zgrajeni, saj se položaj elementov v podatkovnih strukturah razlikuje od različice do različice.

je bil dodan v Zaledna podpora RISC-V za nove razširitve arhitekture sklopov navodil zba, zbb, zbc in zbs ter razširitve ISA za vektorske in skalarne kriptografske operacije. Podpora za specifikacijo RISC-V ISA 20191213 je privzeto zagotovljena. Dodana je zastavica -mtune=thead-c906 za omogočanje optimizacij za jedra T-HEAD c906.

Dodano podpora za tip __int128_t/integer(kind=16) v zaledju generiranja kode za grafične procesorje AMD temelji na mikroarhitekturi GCN. Možno je uporabiti do 40 delovnih skupin na računalniško enoto (CU) in do 16 ukaznih front (wavefront, niz niti, ki jih vzporedno izvaja SIMD Engine) na skupino. Prej je bil dovoljen le en ukazni rob na CU.

Kazalniki "-march", "-mptx" in "-march-map" so bili dodani zaledju NVPTX, zasnovan za generiranje kode z uporabo arhitekture nabora ukazov NVIDIA PTX (Parallel Thread Execution). Izvedena podpora za PTX ISA sm_53, sm_70, sm_75 in sm_80. Privzeta arhitektura je sm_30.

Poleg tega je poudarjeno, da odpravljena težava, pri kateri bi prevajalnik izvedel nekvalificirano iskanje izraza odvisnega operaterja v času definicije predloge in ne v času instanciranja. Ta rešitev se ujema z obstoječim obnašanjem za odvisne klicne izraze.

Omeniti velja, da bo projekt 23. maja praznoval 35 let od nastanka prve izdaje GCC. končno če vas zanima več o tem, lahko preverite podrobnosti V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.