Phát hành GNU Mes 0.25, bộ công cụ để xây dựng phân phối độc lập

Sau một năm rưỡi phát triển, bộ công cụ GNU Mes 0.25 đã được phát hành, cung cấp quy trình khởi động cho GCC và cho phép thực hiện một chu trình khép kín để xây dựng lại từ mã nguồn. Bộ công cụ giải quyết vấn đề tập hợp trình biên dịch ban đầu đã được xác minh trong các bản phân phối, phá vỡ chuỗi xây dựng lại theo chu kỳ (xây dựng trình biên dịch yêu cầu các tệp thực thi của trình biên dịch đã được tạo sẵn và các tập hợp trình biên dịch nhị phân là nguồn tiềm năng của dấu trang ẩn, không cho phép đảm bảo đầy đủ tính toàn vẹn của các cụm từ mã nguồn tham chiếu).

GNU Mes cung cấp trình thông dịch tự lưu trữ cho ngôn ngữ Đề án, được viết bằng ngôn ngữ C và trình biên dịch đơn giản cho ngôn ngữ C (MesCC), được viết bằng ngôn ngữ Đề án. Cả hai thành phần đều có thể lắp ráp được. Trình thông dịch Đề án cho phép xây dựng trình biên dịch MesCC C, sau đó cho phép bạn xây dựng phiên bản rút gọn của trình biên dịch TinyCC (tcc), các khả năng của trình biên dịch này đã đủ để xây dựng GCC.

Trình thông dịch ngôn ngữ Đề án rất nhỏ gọn, mất khoảng 5000 dòng mã trong tập hợp con đơn giản nhất của ngôn ngữ C và có thể được chuyển đổi thành tệp thực thi bằng trình dịch phổ quát M2-Planet hoặc trình biên dịch C đơn giản được biên dịch bằng trình biên dịch hex0 tự lắp ráp điều đó không yêu cầu phụ thuộc bên ngoài. Đồng thời, trình thông dịch bao gồm một trình thu gom rác chính thức và cung cấp một thư viện các mô-đun có thể tải được. Dự án cũng phát triển thư viện Mes C C, đủ để xây dựng glibc 2.2.5, binutils 2.20.1 và gcc 2.95.3, cần thiết để triển khai bản phân phối Guix cho i686-linux, x86_64-linux, armhf-linux và aarch64 -linux platform, chỉ sử dụng mã nguồn (Full Source Bootstrap).

Bản phát hành mới giới thiệu hỗ trợ cho kiến ​​trúc RISC-V (RISC-V64-linux) và thêm hỗ trợ cho việc biên dịch bằng bộ chuyển mã M2-Planet. Hỗ trợ lắp ráp với phiên bản M2-Planet 1.11.0 cho nền tảng đích x86_64-linux. Việc chỉ định "--bootstrap-mode" khi sử dụng M2-Planet không còn cần thiết nữa. MesCC giải quyết các vấn đề tương thích với các phiên bản GCC 10+, đảm bảo rằng các trường cấu trúc được khởi tạo về 0 và khôi phục khả năng gỡ lỗi các tệp nhị phân ở cấp độ các hàm riêng lẻ.

Trong các bản phát hành trong tương lai, chúng tôi hy vọng sẽ chỉ thấy hỗ trợ khởi động NixOS từ nguồn, hỗ trợ các mô-đun hoàn toàn tương thích với Guile, khả năng chạy Gash và Gash-Utils, hỗ trợ khởi động gcc 4.6.4, cũng như khả năng xây dựng hoàn chỉnh toàn bộ hệ thống từ nguồn trong môi trường Linux dựa trên kiến ​​trúc armhf và riscv64.

Nguồn: opennet.ru

Thêm một lời nhận xét