diff --git a/src/syscalls/condvar.rs b/src/syscalls/condvar.rs
index 04cd623c0fc571ae37c9b4444622bf5c2b791df7..873113c7a86bea1cf7e5455755b0fdcc208c610e 100644
--- a/src/syscalls/condvar.rs
+++ b/src/syscalls/condvar.rs
@@ -41,7 +41,7 @@ extern "C" fn __sys_destroy_queue(ptr: usize) -> i32 {
 }
 
 #[no_mangle]
-pub unsafe fn sys_destroy_queue(ptr: usize) -> i32 {
+pub unsafe extern "C" fn sys_destroy_queue(ptr: usize) -> i32 {
 	kernel_function!(__sys_destroy_queue(ptr))
 }
 
@@ -82,7 +82,7 @@ extern "C" fn __sys_notify(ptr: usize, count: i32) -> i32 {
 }
 
 #[no_mangle]
-pub unsafe fn sys_notify(ptr: usize, count: i32) -> i32 {
+pub unsafe extern "C" fn sys_notify(ptr: usize, count: i32) -> i32 {
 	kernel_function!(__sys_notify(ptr, count))
 }
 
@@ -105,7 +105,7 @@ extern "C" fn __sys_init_queue(ptr: usize) -> i32 {
 }
 
 #[no_mangle]
-pub unsafe fn sys_init_queue(ptr: usize) -> i32 {
+pub unsafe extern "C" fn sys_init_queue(ptr: usize) -> i32 {
 	kernel_function!(__sys_init_queue(ptr))
 }
 
@@ -137,7 +137,7 @@ extern "C" fn __sys_add_queue(ptr: usize, timeout_ns: i64) -> i32 {
 }
 
 #[no_mangle]
-pub unsafe fn sys_add_queue(ptr: usize, timeout_ns: i64) -> i32 {
+pub unsafe extern "C" fn sys_add_queue(ptr: usize, timeout_ns: i64) -> i32 {
 	kernel_function!(__sys_add_queue(ptr, timeout_ns))
 }
 
@@ -163,6 +163,6 @@ extern "C" fn __sys_wait(ptr: usize) -> i32 {
 }
 
 #[no_mangle]
-pub unsafe fn sys_wait(ptr: usize) -> i32 {
+pub unsafe extern "C" fn sys_wait(ptr: usize) -> i32 {
 	kernel_function!(__sys_wait(ptr))
 }
diff --git a/targets/aarch64-unknown-none-hermitkernel.json b/targets/aarch64-unknown-none-hermitkernel.json
index b1ec158ed87fb7ba3068480130084d2a66731617..eb6964f787efac51e3f723de35039ef5ea5d5264 100644
--- a/targets/aarch64-unknown-none-hermitkernel.json
+++ b/targets/aarch64-unknown-none-hermitkernel.json
@@ -7,7 +7,7 @@
     "features": "+strict-align,-neon,-fp-armv8",
     "linker": "rust-lld",
     "linker-flavor": "ld.lld",
-    "llvm-target": "aarch64-unknown-hermit",
+    "llvm-target": "aarch64-unknown-none-elf",
     "max-atomic-width": 128,
     "panic-strategy": "abort",
     "position-independent-executables": true,
diff --git a/targets/x86_64-unknown-none-hermitkernel.json b/targets/x86_64-unknown-none-hermitkernel.json
index 3420e2ed0160256d157df9b5a2f34f281e0ecd6a..338cf278dd1606bb58f0f68f4411ba8e13074df6 100644
--- a/targets/x86_64-unknown-none-hermitkernel.json
+++ b/targets/x86_64-unknown-none-hermitkernel.json
@@ -8,7 +8,7 @@
     "features": "-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-3dnow,-3dnowa,-avx,-avx2,+soft-float",
     "linker": "rust-lld",
     "linker-flavor": "ld.lld",
-    "llvm-target": "x86_64-unknown-hermit",
+    "llvm-target": "x86_64-unknown-none-elf",
     "max-atomic-width": 64,
     "panic-strategy": "abort",
     "position-independent-executables": true,