GCC 12.1 đã được phát hành và đây là những tin tức về nó

Sau một năm phát triển Gói xây dựng GCC 12.1 được phát hành, bản phát hành quan trọng đầu tiên trên nhánh GCC 12.x mới.

Theo sơ đồ đánh số phiên bản mới, phiên bản 12.0 đã được sử dụng trong quá trình phát triển và ngay trước khi phát hành GCC 12.1, nhánh GCC 13.0 đã được chia nhỏ, từ đó phiên bản chính tiếp theo của GCC 13.1 sẽ được hình thành.

GCC 12.1 Các tính năng mới chính

Trong phiên bản mới này được trình bày, nó được nhấn mạnh rằng se đã thêm hỗ trợ cho định dạng gỡ lỗi CTF, cung cấp lưu trữ nhỏ gọn thông tin về các loại C, mối quan hệ giữa các chức năng và các ký hiệu gỡ lỗi. Khi được nhúng vào các đối tượng ELF, định dạng cho phép sử dụng bảng ký hiệu EFL để tránh trùng lặp dữ liệu.

Ngoài điều này, người ta lưu ý rằng công việc tiếp tục mở rộng hỗ trợ cho các tiêu chuẩn C2X và C ++ 23 trong tương lai cho C và C ++ và đó cũng là tương thích với các phần thử nghiệm của các tiêu chuẩn C ++ 20 và C ++ 23 đã được cải thiện trong Thư viện Chuẩn C ++.

Đối với kiến ​​trúc x86, được bổ sung thêm khả năng bảo vệ chống lại các lỗ hổng của bộ xử lý do thực thi đầu cơ gây ra hướng dẫn sau khi thực hiện các thao tác chuyển tiếp không điều kiện. Vấn đề phát sinh từ việc xử lý trước các lệnh ngay sau lệnh nhảy trong bộ nhớ (SLS, Đầu cơ Đường thẳng). Tùy chọn "-mharden-sls" được đề xuất để bật tính năng bảo vệ.

Nó cũng được nhấn mạnh rằng đã thêm một định nghĩa cho việc sử dụng các biến chưa được khởi tạo vào máy phân tích tĩnh thử nghiệm. Đã thêm hỗ trợ ban đầu để phân tích cú pháp mã lắp ráp trên các chèn nội tuyến. Cải thiện khả năng theo dõi bộ nhớ. Mã được viết lại để xử lý các biểu thức thay đổi.

Đã được thêm vào 30 cuộc gọi mới tới libgccjit, một thư viện được chia sẻ để nhúng trình tạo mã vào các quy trình khác và sử dụng nó cho mã bytecode JIT để biên dịch mã gốc.

Mặt khác, nó được nhấn mạnh rằng hỗ trợ cho cơ chế CO-RE (Biên dịch một lần - Chạy mọi nơi) sang chương trình phụ trợ để tạo mã byte BPF, cho phép biên dịch mã của các chương trình eBPF cho hạt nhân Linux chỉ một lần và sử dụng một bộ nạp đa năng đặc biệt để điều chỉnh chương trình được tải với hạt nhân hiện tại và các kiểu BTF (định dạng kiểu BPF). CO-RE giải quyết vấn đề về tính di động của các chương trình eBPF đã biên dịch mà trước đây chỉ có thể được sử dụng trong phiên bản hạt nhân mà chúng đã được xây dựng, vì vị trí của các phần tử trong cấu trúc dữ liệu khác nhau giữa các phiên bản.

đã được thêm vào Hỗ trợ phụ trợ RISC-V cho các phần mở rộng kiến ​​trúc mới bộ hướng dẫn zba, zbb, zbc và zbs, cũng như các phần mở rộng ISA cho các hoạt động mật mã vectơ và vô hướng. Hỗ trợ cho thông số kỹ thuật RISC-V ISA 20191213 được cung cấp theo mặc định. Đã thêm cờ -mtune = thead-c906 để kích hoạt tối ưu hóa cho hạt nhân T-HEAD c906.

Thêm hỗ trợ cho kiểu __int128_t / số nguyên (loại = 16) đến phần phụ trợ tạo mã cho GPU AMD dựa trên vi kiến ​​trúc GCN. Có thể sử dụng tới 40 nhóm làm việc trên mỗi đơn vị máy tính (CU) và tối đa 16 mặt trước lệnh (mặt sóng, một tập hợp các luồng được thực thi song song bởi SIMD Engine) cho mỗi nhóm. Trước đây, chỉ cho phép một cạnh lệnh trên mỗi CU.

Các chỉ số "-march", "-mptx" và "-march-map" đã được thêm vào phần phụ trợ NVPTX, được thiết kế để tạo mã sử dụng kiến ​​trúc tập lệnh NVIDIA PTX (Thực thi luồng song song). Đã triển khai hỗ trợ cho PTX ISA sm_53, sm_70, sm_75 và sm_80. Kiến trúc mặc định là sm_30.

Ngoài điều này, nó được nhấn mạnh rằng đã khắc phục sự cố trong đó trình biên dịch sẽ thực hiện tìm kiếm không đủ tiêu chuẩn của một biểu thức toán tử phụ thuộc tại thời điểm xác định mẫu thay vì tại thời điểm khởi tạo. Giải pháp này phù hợp với hành vi hiện có cho các biểu thức gọi phụ thuộc.

Điều đáng nói là vào ngày 23/35, dự án sẽ kỷ niệm XNUMX năm kể từ khi hình thành cho ra mắt GCC đầu tiên. Cuối cùng nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.