GCC 12.1 je već objavljen i ovo su njegove vijesti

Nakon godinu dana razvoja Objavljen paket GCC 12.1, prvo značajno izdanje u novoj grani GCC 12.x.

Prema novoj šemi numerisanja verzija, verzija 12.0 je korištena tokom razvoja, a neposredno prije izlaska GCC 12.1, grana GCC 13.0 je već bila račvana, iz koje će se formirati sljedeća velika verzija GCC 13.1.

GCC 12.1 Glavne nove karakteristike

U ovoj novoj verziji koja je predstavljena, istaknuto je da si dodana podrška za CTF format za otklanjanje grešaka, koji obezbeđuje kompaktno skladištenje informacija o C tipovima, odnosima između funkcija i simbolima za otklanjanje grešaka. Kada je ugrađen u ELF objekte, format dozvoljava upotrebu tablica EFL simbola kako bi se izbjeglo dupliciranje podataka.

Pored ovoga, napominje se da nastavlja se rad na proširenju podrške za buduće C2X i C++23 standarde za C i C++ i to takođe kompatibilnost sa eksperimentalne dijelove standarda C++20 i C++23 su poboljšani u standardnoj biblioteci C++.

Za arhitekturu x86, dodata je dodatna zaštita od ranjivosti procesora uzrokovanih spekulativnim izvršavanjem instrukcija nakon operacija bezuvjetnog skoka naprijed. Problem nastaje zbog preventivne obrade instrukcija neposredno nakon instrukcije skoka u memoriji (SLS, Straight Line Speculation). Opcija “-mharden-sls” se predlaže da omogući zaštitu.

Takođe je istaknuto da dodao je definiciju za upotrebu neinicijaliziranih varijabli na eksperimentalni statički analizator. Dodata početna podrška za raščlanjivanje asemblerskog koda u inline umetcima. Poboljšano praćenje memorije. Prepisan kod za rukovanje izrazima prekidača.

Dodani su 30 novih poziva za libgccjit, zajednička biblioteka za ugrađivanje generatora koda u druge procese i korištenje za JIT kompilaciju bajtkoda u izvorni kod.

S druge strane, ističe se da je podrška za CO-RE mehanizam (Kompajlirajte jednom – pokreni svuda) na pozadinu da generiše BPF bajt kod, koji omogućava vam da prevedete kod eBPF programa za kernel Linux samo jednom i koristite poseban univerzalni loader koji prilagođava učitani program trenutnom kernelu i BTF tipovima (format BPF tipa). CO-RE rješava problem prenosivosti kompajliranih eBPF programa koji su se ranije mogli koristiti samo u verziji kernela za koju su napravljeni, budući da pozicija elemenata u strukturama podataka varira od verzije do verzije.

Dodano je u RISC-V backend podrška za nove ekstenzije arhitekture skupova instrukcija zba, zbb, zbc i zbs, kao i ISA ekstenzije za vektorske i skalarne kriptografske operacije. Podrška za ISA 20191213 RISC-V specifikaciju je osigurana po defaultu. Dodata -mtune=thead-c906 zastavica za omogućavanje optimizacije za T-HEAD c906 jezgre.

Dodano podrška za tip __int128_t/integer(kind=16) na pozadinu generiranja koda za AMD GPU-ove baziran na GCN mikroarhitekturi. Moguće je koristiti do 40 radnih grupa po računarskoj jedinici (CU) i do 16 frontova instrukcija (talasni front, skup niti koje paralelno izvršava SIMD Engine) po grupi. Ranije je bila dozvoljena samo jedna ivica instrukcije po CU.

Indikatori "-march", "-mptx" i "-march-map" su dodani u pozadinu NVPTX, dizajniran za generiranje koda korištenjem arhitekture skupa instrukcija NVIDIA PTX (Parallel Thread Execution). Implementirana podrška za PTX ISA sm_53, sm_70, sm_75 i sm_80. Zadana arhitektura je sm_30.

Pored ovoga, ističe se da popravljen je problem u kojem bi kompajler izvršio nekvalifikovano pretraživanje izraza zavisnog operatora u vrijeme definicije šablona, ​​a ne u vrijeme instanciranja. Ovo rješenje odgovara postojećem ponašanju za zavisne pozivne izraze.

Vrijedi napomenuti da će 23. maja projekat proslaviti 35 godina od formiranja prvog GCC izdanja. Konačno ako ste zainteresirani da saznate više o tome, možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.