diff --git a/example-crates/external-start/src/main.rs b/example-crates/external-start/src/main.rs index fac5ca2..32da12c 100644 --- a/example-crates/external-start/src/main.rs +++ b/example-crates/external-start/src/main.rs @@ -56,7 +56,7 @@ static EARLY_INIT_ARRAY: unsafe extern "C" fn(i32, *mut *mut u8) = { }; #[no_mangle] -extern "C" fn main(_argc: i32, _argv: *const *const u8) -> i32 { +fn main(_argc: i32, _argv: *const *const u8) -> i32 { eprintln!("Hello from main thread"); at_exit(Box::new(|| eprintln!("Hello from an at_exit handler"))); diff --git a/example-crates/origin-start-lto/src/main.rs b/example-crates/origin-start-lto/src/main.rs index a998553..7fb3193 100644 --- a/example-crates/origin-start-lto/src/main.rs +++ b/example-crates/origin-start-lto/src/main.rs @@ -27,7 +27,7 @@ extern "C" fn eh_personality() {} static GLOBAL_ALLOCATOR: rustix_dlmalloc::GlobalDlmalloc = rustix_dlmalloc::GlobalDlmalloc; #[no_mangle] -extern "C" fn main(_argc: i32, _argv: *const *const u8) -> i32 { +fn main(_argc: i32, _argv: *const *const u8) -> i32 { eprintln!("Hello from main thread"); at_exit(Box::new(|| eprintln!("Hello from an at_exit handler"))); diff --git a/example-crates/origin-start-no-alloc/src/main.rs b/example-crates/origin-start-no-alloc/src/main.rs index 8500ec1..f1c91fd 100644 --- a/example-crates/origin-start-no-alloc/src/main.rs +++ b/example-crates/origin-start-no-alloc/src/main.rs @@ -21,7 +21,7 @@ fn panic(panic: &core::panic::PanicInfo<'_>) -> ! { extern "C" fn eh_personality() {} #[no_mangle] -extern "C" fn main(_argc: i32, _argv: *const *const u8) -> i32 { +fn main(_argc: i32, _argv: *const *const u8) -> i32 { eprintln!("Hello!"); // Unlike origin-start, this example can't create threads because origin's diff --git a/example-crates/origin-start-tiny/src/main.rs b/example-crates/origin-start-tiny/src/main.rs index 526028d..cc0a954 100644 --- a/example-crates/origin-start-tiny/src/main.rs +++ b/example-crates/origin-start-tiny/src/main.rs @@ -18,6 +18,6 @@ fn panic(_panic: &core::panic::PanicInfo<'_>) -> ! { extern "C" fn eh_personality() {} #[no_mangle] -extern "C" fn main(_argc: i32, _argv: *const *const u8) -> i32 { +fn main(_argc: i32, _argv: *const *const u8) -> i32 { 42 } diff --git a/example-crates/origin-start/src/main.rs b/example-crates/origin-start/src/main.rs index a998553..7fb3193 100644 --- a/example-crates/origin-start/src/main.rs +++ b/example-crates/origin-start/src/main.rs @@ -27,7 +27,7 @@ extern "C" fn eh_personality() {} static GLOBAL_ALLOCATOR: rustix_dlmalloc::GlobalDlmalloc = rustix_dlmalloc::GlobalDlmalloc; #[no_mangle] -extern "C" fn main(_argc: i32, _argv: *const *const u8) -> i32 { +fn main(_argc: i32, _argv: *const *const u8) -> i32 { eprintln!("Hello from main thread"); at_exit(Box::new(|| eprintln!("Hello from an at_exit handler"))); diff --git a/src/program.rs b/src/program.rs index 5b75f95..e898bd4 100644 --- a/src/program.rs +++ b/src/program.rs @@ -117,7 +117,7 @@ unsafe fn init_runtime(mem: *mut usize, envp: *mut *mut u8) { #[cfg(any(feature = "origin-start", feature = "external-start"))] #[allow(unused_variables)] unsafe fn call_user_code(argc: c_int, argv: *mut *mut u8, envp: *mut *mut u8) -> i32 { - extern "C" { + extern "Rust" { fn main(argc: c_int, argv: *mut *mut u8, envp: *mut *mut u8) -> c_int; }