Mustang完全用 Rust 構(gòu)建程序
Mustang 是一個用于構(gòu)建完全用 Rust 構(gòu)建的程序的系統(tǒng),這意味著它們不依賴于 libc 或 crt1.o 的任何部分,并且不鏈接任何 C 代碼。
作者表示,Mustang 最初只是為了好玩而創(chuàng)建,練習(xí)一些為其他目的而構(gòu)建的組件(例如 rsik)。但在未來,Mustang 也可能是為了試驗新的平臺 ABI 和新的進(jìn)程參數(shù)傳遞形式。
在可預(yù)見的未來,Mustang 并不是要讓任何東西更安全。主要的 libc 實(shí)現(xiàn)都經(jīng)過了非常好的測試,而且非常成熟。Mustang 則是實(shí)驗性的,有很多不安全因素。這也不是為了建立一個完整的 libc。它目前包括了一些與 libc 兼容的接口,足以讓它在 std 下面滑動,然而,即使這樣也不一定是必要的。
Mustang 目前運(yùn)行在 Linux 的 Rust Nightly 上,支持 x86-64、arch64 和 x86。
Mustang 的部分靈感來自 steed 中的類似功能,但有幾處不同。 cargo 的 build-std 現(xiàn)在可用了,這使它更容易與自定義目標(biāo)一起工作。而 Mustang 的出發(fā)點(diǎn)是替換 libc 接口并按原樣使用 std,而不是重新實(shí)現(xiàn) std。這很可能會發(fā)生變化,但無論怎么做,Mustang 的一個高級目標(biāo)是避免重新實(shí)現(xiàn) std。
評論
圖片
表情
