GCC 12.1 zaten yayınlandı, haberlerini ve 35. yıl dönümünü biliyor

GNU GCC logosu

Lansmanı derleyicinin yeni sürümü GCC (GNU Derleyici Koleksiyonu) 12.1 zaten yayınlandı ve GCC'nin tüm büyük sürümlerinde olduğu gibi, bu sürüm de birçok eklemeler, iyileştirmeler, hata düzeltmeleri ve yeni özellikler getirecek ve ayrıca bu ay (23 Mayıs), proje ilk sürümün oluşturulmasından bu yana 35 yılını kutlayacak.

GCC 12 halihazırda Fedora 36 için sistem derleyicisidir ve GCC 12 ayrıca Red Hat Enterprise Linux'ta Red Hat Developer Toolset (sürüm 7) veya Red Hat GCC Toolset (sürüm 8 ve 9) olarak sunulacaktır.

GCC geliştiricileri, GCC 12.1'in bir başka büyük sürümünü duyurmaktan gurur duyar.

Bu yıl GCC'nin ilk beta sürümünün 35. yıl dönümünü kutluyoruz.
Ve bu ay, GCC 35'ın piyasaya çıkışının 1.0. yılını kutlayacağız!

Bu sürüm, STABS hata ayıklama formatı desteğini düşürür ve
CTF hata ayıklama biçimi [1] için destek sunar. C ve C++
arayüzler, özellikler için genişletilmiş destekle ilerlemeye devam ediyor
yaklaşan C2X ve C++23 standartlarında ve C++ Standard Library'de
C++20 ve C++23'ün deneysel bölümleri için desteği geliştirir.
Fortran arayüzü artık C ile birlikte çalışabilirlik için TS 29113 ile tamamen uyumludur.

GCC 12.1'deki yenilikler neler?

Bu yeni versiyonda Birkaç teklif hayata geçirildi, örneğin diller için C ve C++, eklendi yerleşik bir işlev __bir nesnenin boyutunu belirlemek için yerleşik_dinamik_nesne_boyutu, benzer bir Clang işleviyle uyumludur.

Katma C ve C++ dilleri için "kullanılamaz" özelliği desteği (örneğin, kullanıldığında hataya neden olacak işlevleri işaretleyebilirsiniz) ve ayrıca C ve C++ dilleri için "#elifdef" ve "#elifndef" ön işleme yönergeleri için ek destek.

Ayrıca not edilir ki, UTF-8 karakterlerinin kötüye kullanılması durumunda uyarmak için "-Wbidi-chars" bayrağı, dizilere başvuran iki işleneni karşılaştırmaya çalışırken bir uyarı vermek için çift yönlü metin görüntüleme sırasını ve "-Warray-compare" bayrağını değiştirme.

Ek olarak, iOpenMP 5.0 ve 5.1 standartlarının uygulanması Ortak bellek ve vektörleştirme birimleri (SIMD) ile çok çekirdekli ve hibrit (CPU + GPU / DSP) sistemlerde paralel programlama yöntemlerinin uygulanmasına yönelik API'leri ve yöntemleri tanımlayan (Open Multi-Processing) uygulamasına devam edildi.

Ayrıca OpenACC 2.6 paralel programlama spesifikasyonunun geliştirilmiş uygulaması, GPU'lar ve NVIDIA PTX gibi özel işlemciler üzerindeki işlemleri boşaltmak için araçların tanımlanması ve Intel AVX512-FP16 genişletilmiş yönergeleri ve x16 kod oluşturma arka ucuna _Float86 türü için destek eklenmesi.

Fortran ön ucu, Fortran ve C kodu arasında taşınabilirliği sağlama olanaklarını açıklayan TS 29113 spesifikasyonu için tam destek sağlar.

1980'lerde oluşturulan "STABS" hata ayıklama bilgisi depolama formatı için kullanımdan kaldırılmış destek.

Daha önce Clang'a eklenen __builtin_shufflevector(vec1, vec2, index1, index2, …) uzantısı için ortak vektör karıştırma ve karıştırma işlemlerini gerçekleştirmek için tek bir çağrı sağlayan destek eklendi.

"-O2" optimizasyon düzeyini kullanırken, vektörleştirme varsayılan olarak etkinleştirilir ( -ftree-vectorize ve -fvect-cost-model=very-cheap modları etkindir). "Çok ucuz" model, yalnızca vektör kodu vektörleştirilebilir skaler kodun tamamen yerini alabiliyorsa vektörleştirmeye izin verir.

"-ftrivial-auto-var-init" modu eklendi başlatılmamış değişkenlerin kullanımıyla ilgili sorunları izlemek ve güvenlik açıklarını engellemek için yığında açık değişken başlatmayı etkinleştirmek için.

eklendi derleyicide yerleşik C işlevlerinin uygulanması Genişletilmiş ARM talimatlarının (ls64) kullanımına dayalı olarak bellekte atomik yükleme ve veri depolama için (Intrinsics). ARM mopoption uzantısını kullanarak memcpy, memmove ve memset işlevlerini hızlandırmak için destek eklendi.

Katma yeni bir doğrulama modu "-fsanitize=shadow-call-stack" ( ShadowCallStack ), şu anda yalnızca AArch64 mimarisi için kullanılabilir ve "-fixed-r18" seçeneğiyle kod derlerken çalışır. Mod, yığın arabellek taşması durumunda işlevin dönüş adresinin yeniden yazılmasına karşı koruma sağlar. Korumanın özü, kontrolün fonksiyona aktarılmasından sonra dönüş adresini ayrı bir "gölge" yığınına kaydetmek ve fonksiyondan çıkmadan önce bu adresi almaktır.

kaynak: https://gcc.gnu.org/pipermail


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.