diff --git a/src/crt0/src/lib.rs b/src/crt0/src/lib.rs index dd7c7e470fb3bdc623b6582ec8130af253591d5b..3146fd61144641d640a93b512897d5371c19d1af 100644 --- a/src/crt0/src/lib.rs +++ b/src/crt0/src/lib.rs @@ -28,12 +28,15 @@ pub unsafe extern "C" fn _start() { ); } +#[linkage = "weak"] +#[no_mangle] +extern "C" fn relibc_panic(pi: &::core::panic::PanicInfo) -> ! { + loop {} +} + #[panic_handler] #[linkage = "weak"] #[no_mangle] pub unsafe extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! { - extern "C" { - fn relibc_panic(pi: &::core::panic::PanicInfo) -> !; - } relibc_panic(pi) } diff --git a/src/crti/src/lib.rs b/src/crti/src/lib.rs index 6415b0fb7ff7d2a61ab2247cb52d6008bd118626..9ec19e013f6fc04cd214cd58639c568e26355ce2 100644 --- a/src/crti/src/lib.rs +++ b/src/crti/src/lib.rs @@ -49,12 +49,15 @@ global_asm!( "# ); +#[linkage = "weak"] +#[no_mangle] +extern "C" fn relibc_panic(pi: &::core::panic::PanicInfo) -> ! { + loop {} +} + #[panic_handler] #[linkage = "weak"] #[no_mangle] pub unsafe extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! { - extern "C" { - fn relibc_panic(pi: &::core::panic::PanicInfo) -> !; - } relibc_panic(pi) } diff --git a/src/crtn/src/lib.rs b/src/crtn/src/lib.rs index 22bacbb821d53861c88420496d59b7d88edd256c..8d21fd4406e95b8f4f0767d9f7b12190cfee0cad 100644 --- a/src/crtn/src/lib.rs +++ b/src/crtn/src/lib.rs @@ -39,12 +39,15 @@ global_asm!( "# ); +#[linkage = "weak"] +#[no_mangle] +extern "C" fn relibc_panic(pi: &::core::panic::PanicInfo) -> ! { + loop {} +} + #[panic_handler] #[linkage = "weak"] #[no_mangle] pub unsafe extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! { - extern "C" { - fn relibc_panic(pi: &::core::panic::PanicInfo) -> !; - } relibc_panic(pi) } diff --git a/src/ld_so/src/lib.rs b/src/ld_so/src/lib.rs index ec66380ac717cf38bc7ee0753727b9b2e409dcb3..254b2adbdd9b8dfc0dca53e28087559e4fb5a8b7 100644 --- a/src/ld_so/src/lib.rs +++ b/src/ld_so/src/lib.rs @@ -60,12 +60,15 @@ pub unsafe extern "C" fn main(_argc: isize, _argv: *const *const i8) -> usize { 0x1D } +#[linkage = "weak"] +#[no_mangle] +extern "C" fn relibc_panic(pi: &::core::panic::PanicInfo) -> ! { + loop {} +} + #[panic_handler] #[linkage = "weak"] #[no_mangle] pub unsafe extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! { - extern "C" { - fn relibc_panic(pi: &::core::panic::PanicInfo) -> !; - } relibc_panic(pi) }