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)
 }