Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add `std::os::fortanix_sgx` module #56978

Merged
merged 4 commits into from Dec 24, 2018

Conversation

@jethrogb
Copy link
Contributor

jethrogb commented Dec 19, 2018

This PR adds the std::os::sgx module to expose platform-specific APIs behind the sgx_platform feature gate.

Depends on #56972 to be able to meaningfully build std::os documentation for non-standard targets.

Tracking issue: #56975

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Dec 19, 2018

r? @joshtriplett

(rust_highfive has picked a reviewer for you, use r? to override)

@@ -40,7 +40,7 @@ rustc_tsan = { path = "../librustc_tsan" }
dlmalloc = { version = "0.1", features = ['rustc-dep-of-std'] }

[target.x86_64-fortanix-unknown-sgx.dependencies]
fortanix-sgx-abi = { version = "0.3.1", features = ['rustc-dep-of-std'] }
fortanix-sgx-abi = { version = "0.3.2", features = ['rustc-dep-of-std'] }

This comment has been minimized.

Copy link
@jethrogb

jethrogb Dec 19, 2018

Author Contributor

Diff: fortanix/rust-sgx@769d806 (adding stability attributes)

@@ -63,4 +48,19 @@ cfg_if! {
}
}

#[cfg(target_os = "android")] pub mod android;

This comment has been minimized.

Copy link
@jethrogb

jethrogb Dec 19, 2018

Author Contributor

These changes are from #56972

@joshtriplett

This comment has been minimized.

Copy link
Member

joshtriplett commented Dec 19, 2018

@joshtriplett

This comment has been minimized.

Copy link
Member

joshtriplett commented Dec 19, 2018

I don't think it's reasonable for std::os::sgx to be an interface to specifically the fortanix SGX ABI, as opposed to some other SGX ABI. SGX enclaves can define any number of ABIs.

I would suggest calling this either std::os::sgx_fortanix or std::os::fortanix.

(For clarity, I don't think it makes sense for any other ABI to get the name std::os::sgx either. That would be like having std::os::x86_64 or similar; that isn't an OS, it's a platform on which you can provide many different OS interfaces.)

@jethrogb jethrogb force-pushed the jethrogb:jb/sgx-os-mod branch from 8dc1c6a to 8a665ad Dec 20, 2018
Jethro Beekman
@jethrogb jethrogb changed the title Add `std::os::sgx` module Add `std::os::fortanix_sgx` module Dec 20, 2018
@jethrogb jethrogb force-pushed the jethrogb:jb/sgx-os-mod branch from 8a665ad to dcb5db8 Dec 20, 2018
@jethrogb

This comment has been minimized.

Copy link
Contributor Author

jethrogb commented Dec 20, 2018

Ok, changed to std::os::fortanix_sgx.

@joshtriplett

This comment has been minimized.

Copy link
Member

joshtriplett commented Dec 20, 2018

Thanks!

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 20, 2018

📌 Commit dcb5db8 has been approved by joshtriplett

Centril added a commit to Centril/rust that referenced this pull request Dec 24, 2018
Add `std::os::fortanix_sgx` module

This PR adds the `std::os::sgx` module to expose platform-specific APIs behind the `sgx_platform` feature gate.

Depends on rust-lang#56972 to be able to meaningfully build `std::os` documentation for non-standard targets.

Tracking issue: rust-lang#56975
bors added a commit that referenced this pull request Dec 24, 2018
Rollup of 9 pull requests

Successful merges:

 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57031 (Remove QueryResult)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)
 - #57088 (make non_camel_case_types an early lint)

Failed merges:

r? @ghost
Centril added a commit to Centril/rust that referenced this pull request Dec 24, 2018
Add `std::os::fortanix_sgx` module

This PR adds the `std::os::sgx` module to expose platform-specific APIs behind the `sgx_platform` feature gate.

Depends on rust-lang#56972 to be able to meaningfully build `std::os` documentation for non-standard targets.

Tracking issue: rust-lang#56975
bors added a commit that referenced this pull request Dec 24, 2018
Rollup of 9 pull requests

Successful merges:

 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57010 (Actually run compiletest tests on CI)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)
 - #57088 (make non_camel_case_types an early lint)

Failed merges:

r? @ghost
bors added a commit that referenced this pull request Dec 24, 2018
Rollup of 9 pull requests

Successful merges:

 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57010 (Actually run compiletest tests on CI)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)
 - #57088 (make non_camel_case_types an early lint)

Failed merges:

r? @ghost
Centril added a commit to Centril/rust that referenced this pull request Dec 24, 2018
Add `std::os::fortanix_sgx` module

This PR adds the `std::os::sgx` module to expose platform-specific APIs behind the `sgx_platform` feature gate.

Depends on rust-lang#56972 to be able to meaningfully build `std::os` documentation for non-standard targets.

Tracking issue: rust-lang#56975
bors added a commit that referenced this pull request Dec 24, 2018
Rollup of 10 pull requests

Successful merges:

 - #55470 (box: Add documentation for `From` impls)
 - #56242 (Add missing link in docs)
 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57010 (Actually run compiletest tests on CI)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)

Failed merges:

r? @ghost
@bors bors merged commit dcb5db8 into rust-lang:master Dec 24, 2018
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 24, 2018

⌛️ Testing commit dcb5db8 with merge 50f3d6e...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.