GCC 12.1 буга чейин чыгарылган жана бул анын жаңылыктары

Бир жылдык өнүгүүдөн кийин GCC 12.1 куруу пакети чыгарылды, жаңы GCC 12.x бутагы боюнча биринчи маанилүү релиз.

Жаңы версиянын номерлөө схемасына ылайык, 12.0 версиясы иштеп чыгууда колдонулган жана GCC 12.1 чыгарар алдында GCC 13.0 бутагы айрылып калган, андан GCC 13.1дин кийинки негизги версиясы түзүлөт.

GCC 12.1 Негизги Жаңы Функциялар

Бул сунушталган жаңы версияда, бул сe CTF мүчүлүштүктөрдү оңдоо форматы үчүн кошумча колдоо, С типтери, функциялардын ортосундагы мамилелер жана мүчүлүштүктөрдү оңдоо символдору жөнүндө маалыматты компакт сактоону камсыз кылат. ELF объекттерине кыстарылганда, формат маалыматтардын кайталанышын болтурбоо үчүн EFL символдук таблицаларын колдонууга мүмкүндүк берет.

Мындан тышкары, деп белгиленет C жана C++ үчүн келечектеги C2X жана C++23 стандарттарын колдоону кеңейтүү боюнча иш улантылууда жана бул да менен шайкештик стандарттардын эксперименталдык бөлүмдөрү C++20 жана C++23 жакшыртылды C++ стандарттык китепканасында.

Архитектура үчүн x86, спекуляциялык аткаруудан келип чыккан процессордун алсыздыгынан кошумча коргоону кошкон шартсыз секирүү операцияларынан кийин нускамалардын. Көйгөй эстутумдагы секирүү инструкциясынан кийин дароо инструкцияларды алдын ала иштетүүдөн келип чыгат (SLS, түз сызык спекуляциясы). "-mharden-sls" опциясы коргоону иштетүү үчүн сунушталат.

Ошондой эле, деп баса белгиленген башталбаган өзгөрмөлөрдү колдонуу үчүн аныктаманы кошкон эксперименталдык статикалык анализаторго. Киргизилген кыстармалардагы монтаждык кодду талдоо үчүн баштапкы колдоо кошулду. Жакшыртылган эс көзөмөлдөө. Өзгөртүү туюнтмаларын иштетүү үчүн кайра жазылган код.

Кошулду libgccjitге 30 жаңы чалуу, код генераторун башка процесстерге кыстаруу жана аны JIT байт код үчүн жергиликтүү код компиляциясына колдонуу үчүн жалпы китепкана.

Экинчи жагынан, баса белгиленет CO-RE механизмин колдоо (Бир жолу компиляциялоо - бардык жерде иштетүү) BPF байт кодун түзүү үчүн артка ядро үчүн eBPF программаларынын кодун түзүүгө мүмкүндүк берет Linux бир эле жолу жана жүктөлгөн программаны учурдагы ядрого жана BTF типтерине (BPF тибинин форматына) ылайыкташтырган атайын универсалдуу жүктөгүчтү колдонуңуз. CO-RE компиляцияланган eBPF программаларынын портативдүүлүгү менен көйгөйдү чечет, алар мурда алар курулган ядро ​​версиясында гана колдонулушу мүмкүн, анткени маалымат структураларындагы элементтердин абалы версиядан версияга чейин өзгөрүп турат.

кошулду RISC-V жаңы архитектуралык кеңейтүүлөрдү колдоо нускамалардын топтому zba, zbb, zbc жана zbs, ошондой эле ISA кеңейтүүлөрү вектордук жана скалярдык криптографиялык операциялар үчүн. RISC-V ISA 20191213 спецификациясын колдоо демейки боюнча берилет. T-HEAD c906 ядролору үчүн оптималдаштырууну иштетүү үчүн -mtune=thead-c906 желеги кошулду.

Кошулду __int128_t/integer түрүн колдоо(түр=16) кодду генерациялоо үчүн AMD GPU үчүн GCN микроархитектурасына негизделген. Эсептөө бирдигине (CU) 40 жумушчу топко чейин жана бир топко 16га чейин нускама фронтторун (толкун фронту, SIMD кыймылдаткычы тарабынан параллелдүү аткарылган жиптердин жыйындысы) колдонууга болот. Мурда КС боюнча бир гана нускама четине уруксат берилген.

Көрсөткүчтөр "-march", "-mptx" жана "-march-map" NVPTX серверине кошулду, NVIDIA PTX (Parallel Thread Execution) нускама топтому архитектурасын колдонуу менен кодду түзүү үчүн иштелип чыккан. PTX ISA sm_53, sm_70, sm_75 жана sm_80 үчүн ишке ашырылган колдоо. Демейки архитектурасы - sm_30.

Мындан тышкары, баса белгиленет компилятор квалификациясыз издөө жүргүзө турган маселени чечти көз каранды оператордун туюнтмасынын инстанция убагында эмес, калыпты аныктоо убагында. Бул чечим көз каранды чакыруу туюнтмаларынын учурдагы жүрүм-турумуна дал келет.

Белгилей кетсек, 23-майда долбоор GCCтин биринчи релизинин түзүлгөнүнө 35 жыл толот. Акыры ал жөнүндө көбүрөөк билүүгө кызыкдар болсо, сиз чоо-жайын текшере аласыз Төмөнкү шилтемеде.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт.

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.