diff --git a/library/compiler-builtins/build.rs b/library/compiler-builtins/build.rs index 6f2cc76a9617..f5ada024f41e 100644 --- a/library/compiler-builtins/build.rs +++ b/library/compiler-builtins/build.rs @@ -17,9 +17,9 @@ fn main() { return; } - // Forcibly enable memory intrinsics on wasm32 as we don't have a libc to + // Forcibly enable memory intrinsics on wasm32 & SGX as we don't have a libc to // provide them. - if target.contains("wasm32") { + if target.contains("wasm32") || target.contains("sgx") { println!("cargo:rustc-cfg=feature=\"mem\""); } diff --git a/library/compiler-builtins/src/lib.rs b/library/compiler-builtins/src/lib.rs index 9f1dd15120c0..9bb38f39aa2f 100644 --- a/library/compiler-builtins/src/lib.rs +++ b/library/compiler-builtins/src/lib.rs @@ -48,7 +48,8 @@ pub mod int; pub mod float; #[cfg(any(all(target_arch = "wasm32", target_os = "unknown"), - all(target_arch = "arm", target_os = "none")))] + all(target_arch = "arm", target_os = "none"), + target_env = "sgx"))] pub mod math; pub mod mem; diff --git a/library/compiler-builtins/src/math.rs b/library/compiler-builtins/src/math.rs index 9db7a0aa3d6b..c37243504b1b 100644 --- a/library/compiler-builtins/src/math.rs +++ b/library/compiler-builtins/src/math.rs @@ -15,7 +15,7 @@ macro_rules! no_mangle { } // only for the wasm32-unknown-unknown target -#[cfg(all(target_arch = "wasm32", target_os = "unknown"))] +#[cfg(any(all(target_arch = "wasm32", target_os = "unknown"), target_env = "sgx"))] no_mangle! { fn acos(x: f64) -> f64; fn asin(x: f64) -> f64;