Support std on ArceOS #92
Replies: 5 comments
-
Rust-ABI与Function-Call对比实验(1)名词定义rust-abi:以extern “Rust” 调用外部函数的方式。虽然调用者和被调用者都是rust程序,但是通常情况下,二者是分别基于不同的target构建的。二者是跨ABI进行调用,不能进行统一的LTO。 function-call:直接调用rust 函数的方式(即最基本的intree调用方式)。下面简称rust-func。 实验目的对比rust编译器在处理这两种函数调用方式时的异同。针对两个方面:
本次是实验的阶段1,只针对第1个方面。 实验设置graph LR
rust-func-cli --rust-func--> libsys
rust-abi-cli --rust-abi--> libsys
实验过程从github下载实验项目f_a,然后执行,并观察结果 git clone [email protected]:shilei-massclouds/f_a.git
cd f_a/
make run 结果分析
|
Beta Was this translation helpful? Give feedback.
-
ArceOS支持Std的路径有两条路可以走: 扩展rust官方std库,增加ArceOS Target
自定义std库,只是接口与官方std兼容
总结
|
Beta Was this translation helpful? Give feedback.
-
发现并修复rustc与library不匹配的问题,提交到std_support分支 上周周报提到的关于rust core库编译的问题,如下 这个是我理解错误,这个feature是自举过程中stage0到stage1的基本机制,本身没问题。 问题的实际原因是:编译时使用的rustc的版本和我们实现std库所基于的版本不一致。如下 经对比,我们library基于的实际版本应该是**"nightly-2023-06-17”。** 修改rust-toolchain.toml,并revert当时因为该问题错误提交的一个commit '4884f16’。已经提交到std_support分支。 |
Beta Was this translation helpful? Give feedback.
-
Customize a rust-toolchian for ArceOS. The start-point is to support std-library on ArceOS.
Discuss and record the process.
Beta Was this translation helpful? Give feedback.
All reactions