GCC 12.1 er allerede blevet frigivet, og dette er nyhederne

Efter et års udvikling GCC 12.1 byggepakke frigivet, den første betydningsfulde udgivelse på den nye GCC 12.x-gren.

Under det nye versionsnummereringsskema blev version 12.0 brugt under udviklingen, og kort før udgivelsen af ​​GCC 12.1 var GCC 13.0-grenen allerede splittet, hvorfra den næste større version af GCC 13.1 vil blive dannet.

GCC 12.1 Vigtigste nye funktioner

I denne nye version, der præsenteres, fremhæves det, at se tilføjet understøttelse af CTF-fejlfindingsformatet, som giver kompakt lagring af information om C-typer, forhold mellem funktioner og fejlfindingssymboler. Når det er indlejret i ELF-objekter, tillader formatet brugen af ​​EFL-symboltabeller for at undgå dataduplikering.

Udover dette bemærkes, at arbejdet fortsætter med at udvide understøttelsen af ​​fremtidige C2X- og C++23-standarder for C og C++ og at også kompatibilitet med de eksperimentelle dele af standarderne C++20 og C++23 er blevet forbedret i C++ Standard Library.

Til arkitektur x86, tilføjet yderligere beskyttelse mod processorsårbarheder forårsaget af spekulativ eksekvering af instruktioner efter ubetingede spring-forlæns operationer. Problemet opstår fra den forebyggende behandling af instruktioner umiddelbart efter springinstruktionen i hukommelsen (SLS, Straight Line Speculation). Muligheden "-mharden-sls" foreslås for at aktivere beskyttelse.

Det fremhæves også, at tilføjet en definition for brugen af ​​ikke-initialiserede variable til den eksperimentelle statiske analysator. Tilføjet indledende understøttelse for parsing af assembly-kode på inline-indsættelser. Forbedret hukommelsessporing. Omskrevet kode til at håndtere ændringsudtryk.

Blev tilføjet 30 nye opkald til libgccjit, et delt bibliotek til at indlejre en kodegenerator i andre processer og bruge den til JIT-bytekode til indbygget kodekompilering.

På den anden side fremhæves det, at støtte til CO-RE-mekanismen (Compile Once - Run Everywhere) til backend for at generere BPF bytecode, som giver mulighed for at kompilere koden for eBPF-programmerne til kernen Linux bare én gang og brug en speciel universel indlæser, der tilpasser det indlæste program til de aktuelle kerne- og BTF-typer (BPF-typeformat). CO-RE løser problemet med portabiliteten af ​​kompilerede eBPF-programmer, som tidligere kun kunne bruges i den kerneversion, de er bygget til, da elementernes placering i datastrukturerne varierer fra version til version.

er blevet tilføjet RISC-V-backend-understøttelse af nye arkitekturudvidelser af instruktionssæt zba, zbb, zbc og zbs, samt ISA-udvidelser til vektor og skalære kryptografiske operationer. Support til RISC-V ISA 20191213-specifikationen leveres som standard. Tilføjet -mtune=thead-c906 flag for at aktivere optimeringer for T-HEAD c906 kerner.

Tilføjet understøttelse af typen __int128_t/integer(kind=16) til kodegenereringsbackend til AMD GPU'er baseret på GCN-mikroarkitekturen. Det er muligt at bruge op til 40 arbejdsgrupper pr. computerenhed (CU) og op til 16 instruktionsfronter (bølgefront, et sæt tråde, der udføres parallelt af SIMD Engine) pr. gruppe. Tidligere var kun én instruktionskant pr. CU tilladt.

Indikatorerne "-march", "-mptx" og "-march-map" blev tilføjet til NVPTX-backend, designet til kodegenerering ved hjælp af NVIDIA PTX (Parallel Thread Execution) instruktionssætarkitekturen. Implementeret understøttelse af PTX ISA sm_53, sm_70, sm_75 og sm_80. Standardarkitekturen er sm_30.

Udover dette fremhæves, at løste et problem, hvor compileren ville udføre en ukvalificeret søgning af et afhængigt operatorudtryk på skabelondefinitionstidspunktet snarere end ved instansieringstidspunktet. Denne løsning matcher den eksisterende adfærd for afhængige kaldeudtryk.

Det er værd at nævne, at den 23. maj vil projektet fejre 35 år siden dannelsen af ​​den første GCC-udgivelse. Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.