GCC 12.1 sudah rilis dan ini beritanya

Setelah setahun pembangunan Paket build GCC 12.1 dirilis, rilis signifikan pertama di cabang GCC 12.x baru.

Di bawah skema penomoran versi baru, versi 12.0 digunakan selama pengembangan, dan sesaat sebelum rilis GCC 12.1, cabang GCC 13.0 sudah bercabang, dari mana versi utama berikutnya dari GCC 13.1 akan dibentuk.

GCC 12.1 Fitur Baru Utama

Dalam versi baru yang disajikan ini, disoroti bahwa se menambahkan dukungan untuk format debugging CTF, yang menyediakan penyimpanan informasi yang ringkas tentang tipe C, hubungan antar fungsi, dan simbol debugging. Saat disematkan di objek ELF, formatnya memungkinkan penggunaan tabel simbol EFL untuk menghindari duplikasi data.

Selain itu, dicatat bahwa work terus memperluas dukungan untuk standar C2X dan C++23 di masa mendatang untuk C dan C++ dan itu juga kompatibilitas dengan bagian eksperimental dari standar C++20 dan C++23 telah ditingkatkan di Pustaka Standar C++.

Untuk arsitektur x86, menambahkan perlindungan tambahan terhadap kerentanan prosesor yang disebabkan oleh eksekusi spekulatif instruksi setelah operasi jump-forward tanpa syarat. Masalah muncul dari pemrosesan preemptive instruksi segera setelah instruksi lompat di memori (SLS, Spekulasi Garis Lurus). Opsi "-mharden-sls" disarankan untuk mengaktifkan perlindungan.

Itu juga disorot itu menambahkan definisi untuk penggunaan variabel yang tidak diinisialisasi ke penganalisis statis eksperimental. Menambahkan dukungan awal untuk mengurai kode rakitan pada sisipan sebaris. Pelacakan memori yang ditingkatkan. Kode yang ditulis ulang untuk menangani ekspresi perubahan.

Ditambahkan 30 panggilan baru ke libgccjit, pustaka bersama untuk menyematkan pembuat kode ke dalam proses lain dan menggunakannya untuk bytecode JIT ke kompilasi kode asli.

Di sisi lain, disorot bahwa dukungan untuk mekanisme CO-RE (Kompilasi Sekali - Jalankan Di Mana Saja) ke backend untuk menghasilkan bytecode BPF, yang memungkinkan untuk mengkompilasi kode program eBPF untuk kernel Linux sekali saja dan gunakan pemuat universal khusus yang mengadaptasi program yang dimuat ke kernel dan tipe BTF saat ini (format tipe BPF). CO-RE memecahkan masalah dengan portabilitas program eBPF yang dikompilasi yang sebelumnya hanya dapat digunakan dalam versi kernel yang dibangun, karena posisi elemen dalam struktur data bervariasi dari versi ke versi.

telah ditambahkan ke Dukungan backend RISC-V untuk ekstensi arsitektur baru set instruksi zba, zbb, zbc, dan zbs, serta ekstensi ISA untuk operasi kriptografi vektor dan skalar. Dukungan untuk spesifikasi RISC-V ISA 20191213 disediakan secara default. Menambahkan flag -mtune=thead-c906 untuk mengaktifkan pengoptimalan untuk kernel T-HEAD c906.

Ditambahkan dukungan untuk tipe __int128_t/integer(kind=16) ke backend pembuatan kode untuk GPU AMD berdasarkan mikroarsitektur GCN. Dimungkinkan untuk menggunakan hingga 40 grup kerja per unit komputasi (CU) dan hingga 16 bagian depan instruksi (depan gelombang, satu set utas yang dieksekusi secara paralel oleh Mesin SIMD) per grup. Sebelumnya, hanya satu tepi instruksi per CU yang diizinkan.

Indikatornya "-march", "-mptx" dan "-march-map" ditambahkan ke backend NVPTX, dirancang untuk pembuatan kode menggunakan arsitektur set instruksi NVIDIA PTX (Parallel Thread Execution). Dukungan yang diterapkan untuk PTX ISA sm_53, sm_70, sm_75 dan sm_80. Arsitektur default adalah sm_30.

Selain itu, digarisbawahi bahwa memperbaiki masalah di mana kompiler akan melakukan pencarian yang tidak memenuhi syarat ekspresi operator dependen pada waktu definisi template daripada pada waktu instantiasi. Solusi ini cocok dengan perilaku yang ada untuk ekspresi panggilan dependen.

Perlu disebutkan bahwa pada tanggal 23 Mei, proyek ini akan merayakan 35 tahun sejak pembentukan rilis GCC pertama. Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.