diff --git a/src/fenv/src/lib.rs b/src/fenv/src/lib.rs
index b97e7e3b5e7760c0b6268cd5330af85863e50f1d..49ad7d29cf0249710c7318b90cff2658fb9b2a38 100644
--- a/src/fenv/src/lib.rs
+++ b/src/fenv/src/lib.rs
@@ -17,46 +17,57 @@ pub struct fenv_t {
     pub cw: u64,
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn feclearexcept(excepts: c_int) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn fegenenv(envp: *mut fenv_t) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn fegetexceptflag(flagp: *mut fexcept_t, excepts: c_int) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn fegetround() -> c_int {
     FE_TONEAREST
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn feholdexcept(envp: *mut fenv_t) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn feraiseexcept(except: c_int) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn fesetenv(envp: *const fenv_t) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn fesetexceptflag(flagp: *const fexcept_t, excepts: c_int) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn fesetround(round: c_int) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn fetestexcept(excepts: c_int) -> c_int {
     unimplemented!();
 }
 
+#[no_mangle]
 pub unsafe extern "C" fn feupdateenv(envp: *const fenv_t) -> c_int {
     unimplemented!();
 }
diff --git a/src/float/src/lib.rs b/src/float/src/lib.rs
index e594fdba782a6232f14e7e0b55b78015bd8001a5..723e0d6fb40cc6302f373d7524c680cb31e1fdf5 100644
--- a/src/float/src/lib.rs
+++ b/src/float/src/lib.rs
@@ -11,6 +11,7 @@ use fenv::{fegetround, FE_TONEAREST};
 
 pub const FLT_RADIX: c_int = 2;
 
+#[no_mangle]
 pub unsafe extern "C" fn flt_rounds() -> c_int {
     match fegetround() {
         FE_TONEAREST => 1,