about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-01-02 15:09:41 +0000
committerbors <bors@rust-lang.org>2019-01-02 15:09:41 +0000
commitec194646fef1a467073ad74b8b68f6f202cfce97 (patch)
treef83f8bce1f879b7e12e243f6198e7464ec928dff /src/libstd
parenta36b960df626cbb8bea74f01243318b73f0bd201 (diff)
parent20e0395e66557a1be055ec3f11c35082bf9a5882 (diff)
downloadrust-ec194646fef1a467073ad74b8b68f6f202cfce97.tar.gz
rust-ec194646fef1a467073ad74b8b68f6f202cfce97.zip
Auto merge of #57243 - dingelish:master, r=sfackler
Bound sgx target_env with fortanix as target_vendor

This PR adds `target_vendor` check, as discussed in issue [57231](https://github.com/rust-lang/rust/issues/57231)

Signed-off-by: Yu Ding <dingelish@gmail.com>
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/Cargo.toml2
-rw-r--r--src/libstd/lib.rs8
-rw-r--r--src/libstd/sys/mod.rs10
-rw-r--r--src/libstd/sys_common/mod.rs2
4 files changed, 13 insertions, 9 deletions
diff --git a/src/libstd/Cargo.toml b/src/libstd/Cargo.toml
index 5214f365a64..92876f7f2d8 100644
--- a/src/libstd/Cargo.toml
+++ b/src/libstd/Cargo.toml
@@ -37,7 +37,7 @@ rustc_lsan = { path = "../librustc_lsan" }
 rustc_msan = { path = "../librustc_msan" }
 rustc_tsan = { path = "../librustc_tsan" }
 
-[target.'cfg(any(all(target_arch = "wasm32", not(target_os = "emscripten")), target_env = "sgx"))'.dependencies]
+[target.'cfg(any(all(target_arch = "wasm32", not(target_os = "emscripten")), all(target_vendor = "fortanix", target_env = "sgx")))'.dependencies]
 dlmalloc = { version = "0.1", features = ['rustc-dep-of-std'] }
 
 [target.x86_64-fortanix-unknown-sgx.dependencies]
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs
index 6ded43dfed1..d42e39f16e6 100644
--- a/src/libstd/lib.rs
+++ b/src/libstd/lib.rs
@@ -302,9 +302,9 @@
 #![feature(non_exhaustive)]
 #![feature(alloc_layout_extra)]
 #![feature(maybe_uninit)]
-#![cfg_attr(target_env = "sgx", feature(global_asm, range_contains, slice_index_methods,
-                                        decl_macro, coerce_unsized, sgx_platform,
-                                        min_const_unsafe_fn))]
+#![cfg_attr(all(target_vendor = "fortanix", target_env = "sgx"),
+            feature(global_asm, range_contains, slice_index_methods,
+                    decl_macro, coerce_unsized, sgx_platform))]
 
 #![default_lib_allocator]
 
@@ -347,7 +347,7 @@ extern crate backtrace_sys;
 // testing gives test-std access to real-std lang items and globals. See #2912
 #[cfg(test)] extern crate std as realstd;
 
-#[cfg(target_env = "sgx")]
+#[cfg(all(target_vendor = "fortanix", target_env = "sgx"))]
 #[macro_use]
 #[allow(unused_imports)] // FIXME: without `#[macro_use]`, get error: “cannot
                          // determine resolution for the macro `usercalls_asm`”
diff --git a/src/libstd/sys/mod.rs b/src/libstd/sys/mod.rs
index de9e09bf705..f398a2a6225 100644
--- a/src/libstd/sys/mod.rs
+++ b/src/libstd/sys/mod.rs
@@ -38,7 +38,7 @@ cfg_if! {
     } else if #[cfg(target_arch = "wasm32")] {
         mod wasm;
         pub use self::wasm::*;
-    } else if #[cfg(target_env = "sgx")] {
+    } else if #[cfg(all(target_vendor = "fortanix", target_env = "sgx"))] {
         mod sgx;
         pub use self::sgx::*;
     } else {
@@ -55,7 +55,9 @@ cfg_if! {
     if #[cfg(any(unix, target_os = "redox"))] {
         // On unix we'll document what's already available
         pub use self::ext as unix_ext;
-    } else if #[cfg(any(target_os = "cloudabi", target_arch = "wasm32", target_env = "sgx"))] {
+    } else if #[cfg(any(target_os = "cloudabi",
+                        target_arch = "wasm32",
+                        all(target_vendor = "fortanix", target_env = "sgx")))] {
         // On CloudABI and wasm right now the module below doesn't compile
         // (missing things in `libc` which is empty) so just omit everything
         // with an empty module
@@ -76,7 +78,9 @@ cfg_if! {
         // On windows we'll just be documenting what's already available
         #[allow(missing_docs)]
         pub use self::ext as windows_ext;
-    } else if #[cfg(any(target_os = "cloudabi", target_arch = "wasm32", target_env = "sgx"))] {
+    } else if #[cfg(any(target_os = "cloudabi",
+                        target_arch = "wasm32",
+                        all(target_vendor = "fortanix", target_env = "sgx")))] {
         // On CloudABI and wasm right now the shim below doesn't compile, so
         // just omit it
         #[unstable(issue = "0", feature = "std_internals")]
diff --git a/src/libstd/sys_common/mod.rs b/src/libstd/sys_common/mod.rs
index ee3916b35f9..c18b603a635 100644
--- a/src/libstd/sys_common/mod.rs
+++ b/src/libstd/sys_common/mod.rs
@@ -51,7 +51,7 @@ cfg_if! {
                  target_os = "l4re",
                  target_os = "redox",
                  all(target_arch = "wasm32", not(target_os = "emscripten")),
-                 target_env = "sgx"))] {
+                 all(target_vendor = "fortanix", target_env = "sgx")))] {
         pub use sys::net;
     } else {
         pub mod net;