GCC 12.1 jau ir izlaists, un tie ir tā jaunumi

Pēc gada attīstības Izlaista GCC 12.1 būvējuma pakotne, pirmais nozīmīgais laidiens jaunajā GCC 12.x atzarā.

Saskaņā ar jauno versiju numerācijas shēmu izstrādes laikā tika izmantota versija 12.0, un neilgi pirms GCC 12.1 iznākšanas jau tika izveidots GCC 13.0 atzars, no kura tiks veidota nākamā lielākā GCC 13.1 versija.

GCC 12.1 Galvenās jaunās funkcijas

Šajā jaunajā versijā, kas tiek prezentēta, ir uzsvērts, ka se pievienots atbalsts CTF atkļūdošanas formātam, kas nodrošina kompaktu informācijas glabāšanu par C tipiem, attiecībām starp funkcijām un atkļūdošanas simboliem. Kad tas ir iegults ELF objektos, formāts ļauj izmantot EFL simbolu tabulas, lai izvairītos no datu dublēšanās.

Papildus tam tiek atzīmēts, ka turpinās darbs, lai paplašinātu atbalstu nākamajiem C2X un C++23 standartiem C un C++ un tas arī savietojamība ar standartu eksperimentālās sadaļas C++20 un C++23 ir uzlaboti C++ standarta bibliotēkā.

Par arhitektūru x86, pievienoja papildu aizsardzību pret procesora ievainojamību, ko izraisa spekulatīva izpilde instrukcijas pēc beznosacījuma pārlēkšanas uz priekšu operācijām. Problēma rodas no instrukciju preventīvas apstrādes uzreiz pēc lēciena instrukcijas atmiņā (SLS, Straight Line Speculation). Lai iespējotu aizsardzību, tiek ieteikta opcija "-mharden-sls".

Tas ir arī izcelts pievienoja definīciju neinicializētu mainīgo izmantošanai uz eksperimentālo statisko analizatoru. Pievienots sākotnējais atbalsts montāžas koda parsēšanai iekļautajos ieliktņos. Uzlabota atmiņas izsekošana. Pārrakstīts kods, lai apstrādātu izmaiņu izteiksmes.

Tika pievienoti 30 jauni zvani uz libgccjit, koplietota bibliotēka koda ģeneratora iegulšanai citos procesos un tā izmantošanai JIT baitkodam uz vietējā koda kompilāciju.

No otras puses, tiek uzsvērts, ka atbalsts CO-RE mehānismam (Kompilējiet vienreiz — palaist visur) uz aizmugursistēmu, lai ģenerētu BPF baitu kodu, kas ļauj apkopot kodola eBPF programmu kodu Linux tikai vienu reizi un izmantot speciālu universālu ielādētāju, kas pielāgo ielādēto programmu esošajiem kodola un BTF tipiem (BPF tipa formāts). CO-RE atrisina problēmu ar kompilēto eBPF programmu pārnesamību, kuras iepriekš varēja izmantot tikai tajā kodola versijā, kurai tās tika izveidotas, jo elementu novietojums datu struktūrās dažādās versijās ir atšķirīgs.

ir pievienots RISC-V aizmugursistēmas atbalsts jauniem arhitektūras paplašinājumiem instrukciju komplekti zba, zbb, zbc un zbs, kā arī ISA paplašinājumus vektoru un skalārās kriptogrāfijas operācijām. RISC-V ISA 20191213 specifikācijas atbalsts tiek nodrošināts pēc noklusējuma. Pievienots karodziņš -mtune=thead-c906, lai iespējotu T-HEAD c906 kodolu optimizāciju.

Pievienots atbalsts tipam __int128_t/integer(kind=16) uz koda ģenerēšanas aizmugursistēmu AMD GPU pamatojoties uz GCN mikroarhitektūru. Vienā skaitļošanas vienībā (CU) ir iespējams izmantot līdz 40 darba grupām un līdz 16 instrukciju frontēm (viļņu fronte, diegu komplekts, ko paralēli izpilda SIMD Engine) katrā grupā. Iepriekš vienai CU bija atļauta tikai viena instrukciju mala.

Rādītāji "-march", "-mptx" un "-march-map" tika pievienoti NVPTX aizmugursistēmai, kas paredzēts koda ģenerēšanai, izmantojot NVIDIA PTX (Parallel Thread Execution) instrukciju kopas arhitektūru. Ieviests atbalsts PTX ISA sm_53, sm_70, sm_75 un sm_80. Noklusējuma arhitektūra ir sm_30.

Papildus tam tiek uzsvērts, ka novērsta problēma, kuras dēļ kompilators veica nekvalificētu meklēšanu atkarīgā operatora izteiksme veidnes definīcijas laikā, nevis instantiācijas laikā. Šis risinājums atbilst esošajai atkarīgo izsaukuma izteiksmju darbībai.

Ir vērts pieminēt, ka 23. maijā projekts atzīmēs 35. gadus kopš pirmā GCC laidiena izveidošanas. Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.