固定编译工具链、修复由于新版rust编译器问题导致的报错。 (#258)

* 固定编译工具链、修复由于新版rust编译器问题导致的报错。

* 完善github workflow环境配置
This commit is contained in:
login 2023-05-07 22:20:33 +08:00 committed by GitHub
parent 3a23230af4
commit b11bb1b256
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 7 deletions

View File

@ -44,7 +44,7 @@ jobs:
- if: ${{ steps.cache-build-tools.outputs.cache-hit != 'true' }}
name: Install toolchain
continue-on-error: true
run: sudo apt install -y llvm-dev libclang-dev clang gcc-multilib && cargo install cargo-binutils && rustup toolchain install nightly && rustup default nightly && rustup component add rust-src && rustup component add llvm-tools-preview && rustup target add x86_64-unknown-none
run: sudo apt install -y llvm-dev libclang-dev clang gcc-multilib && cargo install cargo-binutils && rustup toolchain install nightly && rustup default nightly && rustup component add rust-src && rustup component add llvm-tools-preview && rustup target add x86_64-unknown-none && rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
- name: build the DragonOS
run: bash -c "source ~/.cargo/env && export DragonOS_GCC=$HOME/opt/dragonos-gcc/gcc-x86_64-unknown-none/bin && make -j $(nproc) "

View File

@ -156,10 +156,10 @@ impl UartDriver {
/// @param str 发送字符切片
/// @return None
#[allow(dead_code)]
fn uart_send(uart_port: &UartPort, str: &str) {
fn uart_send(uart_port: &UartPort, s: &str) {
let port = uart_port.to_u16();
while UartDriver::is_transmit_empty(port) == false {
for c in str.bytes() {
for c in s.bytes() {
unsafe {
io_out8(port, c);
}
@ -202,11 +202,11 @@ pub extern "C" fn c_uart_read(port: u16) -> u8 {
///@param port 串口端口
///@param str 字符串S
#[no_mangle]
pub extern "C" fn c_uart_send_str(port: u16, str: *const u8) {
pub extern "C" fn c_uart_send_str(port: u16, s: *const u8) {
unsafe {
let mut i = 0;
while *offset(str, i) != '\0' as u8 {
c_uart_send(port, *offset(str, i));
let mut i = 0isize;
while *offset(s, i) != '\0' as u8 {
c_uart_send(port, *offset(s, i));
i = i + 1;
}
}

3
rust-toolchain.toml Normal file
View File

@ -0,0 +1,3 @@
[toolchain]
channel = "nightly-2023-01-21"
components = ["rust-src"]