GCC 12.1 шығарылды және бұл оның жаңалықтары

Бір жыл дамығаннан кейін GCC 12.1 құрастыру пакеті шығарылды, жаңа GCC 12.x тармағындағы бірінші маңызды шығарылым.

Жаңа нұсқаны нөмірлеу схемасы бойынша 12.0 нұсқасы әзірлеу кезінде пайдаланылды және GCC 12.1 шығарылымына аз уақыт қалғанда GCC 13.0 тармағы қазірдің өзінде шанышқы болды, одан GCC 13.1 келесі негізгі нұсқасы құрылады.

GCC 12.1 негізгі жаңа мүмкіндіктері

Ұсынылған бұл жаңа нұсқада se CTF отладтау пішіміне қосымша қолдау, ол C типтері, функциялар арасындағы қарым-қатынастар және жөндеу таңбалары туралы ақпаратты ықшам сақтауды қамтамасыз етеді. ELF нысандарына ендірілген кезде пішім деректердің қайталануын болдырмау үшін EFL символдық кестелерін пайдалануға мүмкіндік береді.

Бұған қоса, атап өтілгендей C және C++ үшін болашақ C2X және C++23 стандарттарын қолдауды кеңейту бойынша жұмыс жалғасуда және бұл да үйлесімділік стандарттардың тәжірибелік бөлімдері C++20 және C++23 жетілдірілді C++ стандартты кітапханасында.

Сәулет өнері үшін x86, алыпсатарлық орындаудан туындаған процессордың осалдықтарынан қосымша қорғаныс қосылды шартсыз алға секіру операцияларынан кейінгі нұсқаулар. Мәселе жадтағы көшу нұсқауынан кейін бірден нұсқауларды алдын ала өңдеуден туындайды (SLS, Straight Line Speculation). Қорғауды қосу үшін «-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 микроархитектурасына негізделген. Әр топта 40-қа дейін жұмыс тобын (ЕБ) және 16-ға дейін нұсқау фронтын (толқындық фронт, SIMD қозғалтқышы параллель орындайтын ағындар жинағы) пайдалануға болады. Бұрын бір КО үшін тек бір нұсқау жиегіне рұқсат етілген.

Көрсеткіштер NVPTX серверіне "-march", "-mptx" және "-march-map" қосылды., 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. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.