Tập 93: Toolchain độc lập — Từ biệt C backend và Clang scaffolding
Trạng thái sự thật: Chưa xảy ra — Kế hoạch Phase V (Sprint 163-176).
Bootstrap compiler thành công mới chỉ là giải phóng trình biên dịch. Để có một hệ sinh thái độc lập, DUY phải làm chủ cả quá trình liên kết (linking) và đóng gói toolchain mà không phụ thuộc vào clang hay gcc của hệ điều hành host.
Mục tiêu của Phase V là tích hợp hoặc giao tiếp trực tiếp với LLVM LLD linker. Thay vì sinh ra các tệp object .o rồi gọi clang ở ngoài để link, compiler DUY sẽ tự gọi thư viện con của LLD để link trực tiếp ra tệp thực thi ELF, Mach-O hoặc PE tùy thuộc vào target OS.
Điều này yêu cầu chúng tôi phải định nghĩa rõ ràng cấu trúc của thư viện chuẩn stdlib freestanding và ABI runtime của DUY trong các tệp nhị phân phân phối. Chúng tôi sẽ phân phối toolchain DUY dưới dạng một bundle duy nhất, chứa: compiler, stdlib pre-compiled, linker, và công cụ quản lý package duy-pm. Người dùng chỉ cần tải về một thư mục, giải nén, và bắt đầu lập trình hệ thống mà không cần cài đặt thêm bất kỳ công cụ phát triển nào khác của bên thứ ba. Từ biệt thế giới cũ có nghĩa là tự gánh vác trách nhiệm từ byte đầu tiên đến byte cuối cùng của file thực thi.
Bình luận (0)
Đang tải bình luận...