You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@teaclave.apache.org by GitBox <gi...@apache.org> on 2022/02/11 09:14:56 UTC

[GitHub] [incubator-teaclave-sgx-sdk] volcano0dr commented on issue #311: Using std Aware Cargo

volcano0dr commented on issue #311:
URL: https://github.com/apache/incubator-teaclave-sgx-sdk/issues/311#issuecomment-1036006899


   @cschramm Thank you very much for your detailed problem analysis and test report.
   
   I plan to support three build strategies in the next release:
   1. `no_std`
   2. build-std in `xargo` (using `xargo build`)
   3. build-std in `cargo` (using `cargo-std-aware)`
   
   In my current work in progress, most of the base crates builds are good using `build-std` build strategy, e.g. `mio,` `serde,` `rustls,` etc.
   But compatibility is still a tricky issue, e.g., the problem mentioned in your report, SGX unsupported instructions (`cpuid,` `syscall,` etc.).
   
   Compatibility issues that I often encounter in my testing.
   1. `libc::syscall`
   2.  unsupported `libc` api (not implemented via ocall in `sgx_libc)`
   3. `cpuid` instruction
   
   For incompatible third-party crates, it can be resolved by the following ways:
   1. Provide a compatible API.
   2. Manually port the third-party crates to adapt to SGX env, and then override the dependent crate on crate.io with `[patch]` in Cargo.toml.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@teaclave.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@teaclave.apache.org
For additional commands, e-mail: notifications-help@teaclave.apache.org