Hey, odd question, but is this something that someone else has had to do when doing embedded, or am I missing something obvious ? ```rs #[no_mangle] pub extern "C" fn __hardfp_cosf(f: f32) -> f32 { libm::cosf(f) } #[no_mangle] pub extern "C" fn __hardfp_sinf(f: f32) -> f32 { libm::sinf(f) } #[no_mangle] pub extern "C" fn __hardfp_roundf(f: f32) -> f32 { libm::roundf(f) } #[no_mangle] pub extern "C" fn __hardfp_sqrtf(f: f32) -> f32 { libm::sqrtf(f) } #[no_mangle] pub extern "C" fn __hardfp_powf(f: f32, g: f32) -> f32 { libm::powf(f, g) } #[no_mangle] pub extern "C" fn __hardfp_cexpf(f: Complex32) -> Complex32 { f.exp() } #[no_mangle] pub extern "C" fn __hardfp_cabsf(f: f32) -> f32 { libm::fabsf(f) } #[no_mangle] pub extern "C" fn __hardfp_atanf(f: f32) -> f32 { libm::atanf(f) } #[no_mangle] pub extern "C" fn __hardfp_floorf(f: f32) -> f32 { libm::floorf(f) } #[no_mangle] pub extern "C" fn __hardfp_log10f(f: f32) -> f32 { libm::log10f(f) } #[no_mangle] pub extern "C" fn __hardfp_exp2f(f: f32) -> f32 { libm::exp2f(f) } ``` Not doing this results in undefined symbols