mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-09 05:16:47 +00:00
Remove the linkage feature usage for ostd::main
This commit is contained in:
parent
131a25c15c
commit
a716763772
@ -15,7 +15,6 @@
|
|||||||
#![feature(format_args_nl)]
|
#![feature(format_args_nl)]
|
||||||
#![feature(int_roundings)]
|
#![feature(int_roundings)]
|
||||||
#![feature(let_chains)]
|
#![feature(let_chains)]
|
||||||
#![feature(linkage)]
|
|
||||||
#![feature(linked_list_remove)]
|
#![feature(linked_list_remove)]
|
||||||
#![feature(negative_impls)]
|
#![feature(negative_impls)]
|
||||||
#![feature(register_tool)]
|
#![feature(register_tool)]
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
// The feature `linkage` is required for `ostd::main` to work.
|
|
||||||
#![feature(linkage)]
|
|
||||||
#![deny(unsafe_code)]
|
#![deny(unsafe_code)]
|
||||||
|
|
||||||
use ostd::prelude::*;
|
use ostd::prelude::*;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
// SPDX-License-Identifier: MPL-2.0
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(linkage)]
|
|
||||||
#![deny(unsafe_code)]
|
#![deny(unsafe_code)]
|
||||||
|
|
||||||
use ostd::prelude::*;
|
use ostd::prelude::*;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
// SPDX-License-Identifier: MPL-2.0
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
// The feature `linkage` is required for `ostd::main` to work.
|
#![deny(unsafe_code)]
|
||||||
#![feature(linkage)]
|
|
||||||
|
|
||||||
extern crate alloc;
|
extern crate alloc;
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@ use syn::{parse_macro_input, Expr, Ident, ItemFn};
|
|||||||
///
|
///
|
||||||
/// ```ignore
|
/// ```ignore
|
||||||
/// #![no_std]
|
/// #![no_std]
|
||||||
/// #![feature(linkage)]
|
|
||||||
///
|
///
|
||||||
/// use ostd::prelude::*;
|
/// use ostd::prelude::*;
|
||||||
///
|
///
|
||||||
@ -28,13 +27,14 @@ pub fn main(_attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
let main_fn_name = &main_fn.sig.ident;
|
let main_fn_name = &main_fn.sig.ident;
|
||||||
|
|
||||||
quote!(
|
quote!(
|
||||||
|
#[cfg(not(ktest))]
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
#[linkage = "weak"]
|
|
||||||
extern "Rust" fn __ostd_main() -> ! {
|
extern "Rust" fn __ostd_main() -> ! {
|
||||||
#main_fn_name();
|
#main_fn_name();
|
||||||
ostd::prelude::abort();
|
ostd::prelude::abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(unused)]
|
||||||
#main_fn
|
#main_fn
|
||||||
)
|
)
|
||||||
.into()
|
.into()
|
||||||
@ -44,10 +44,6 @@ pub fn main(_attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
///
|
///
|
||||||
/// This macro is used for internal OSDK implementation. Do not use it
|
/// This macro is used for internal OSDK implementation. Do not use it
|
||||||
/// directly.
|
/// directly.
|
||||||
///
|
|
||||||
/// It is a strong version of the `main` macro attribute. So if it exists (
|
|
||||||
/// which means the unit test kernel is linked to perform testing), the actual
|
|
||||||
/// kernel entry point will be replaced by this one.
|
|
||||||
#[proc_macro_attribute]
|
#[proc_macro_attribute]
|
||||||
pub fn test_main(_attr: TokenStream, item: TokenStream) -> TokenStream {
|
pub fn test_main(_attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||||
let main_fn = parse_macro_input!(item as ItemFn);
|
let main_fn = parse_macro_input!(item as ItemFn);
|
||||||
@ -82,7 +78,7 @@ pub fn panic_handler(_attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
#handler_fn_name(info);
|
#handler_fn_name(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(ktest))]
|
#[allow(unused)]
|
||||||
#handler_fn
|
#handler_fn
|
||||||
)
|
)
|
||||||
.into()
|
.into()
|
||||||
|
@ -25,7 +25,7 @@ use unwinding::abi::{
|
|||||||
///
|
///
|
||||||
/// The user can override it by defining their own panic handler with the macro
|
/// The user can override it by defining their own panic handler with the macro
|
||||||
/// `#[ostd::panic_handler]`.
|
/// `#[ostd::panic_handler]`.
|
||||||
#[cfg(not(ktest))]
|
#[linkage = "weak"]
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub fn __ostd_panic_handler(info: &core::panic::PanicInfo) -> ! {
|
pub fn __ostd_panic_handler(info: &core::panic::PanicInfo) -> ! {
|
||||||
let _irq_guard = crate::trap::disable_local();
|
let _irq_guard = crate::trap::disable_local();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user