12307b3b08
SGX: Change ELF entrypoint This fixes [rust-sgx issue #148](https://github.com/fortanix/rust-sgx/issues/148). A new entry point is created for the ELF file generated by `rustc`, separate from the enclave entry point. When the ELF file is executed as a Linux binary, the error message below is written to stderr. > Error: This file is an SGX enclave which cannot be executed as a standard Linux binary. > See the installation guide at https://edp.fortanix.com/docs/installation/guide/ on how to use 'cargo run' or follow the steps at https://edp.fortanix.com/docs/tasks/deployment/ for manual deployment. When the ELF file is converted to an SGXS using `elf2sgxs`, the old entry point is still set as the enclave entry point. In a future pull request in the rust-sgx repository, `elf2sgxs` will be modified to remove the code in the ELF entry point, since this code is not needed in the enclave. |
||
---|---|---|
.. | ||
bootstrap | ||
build_helper | ||
ci | ||
doc | ||
etc | ||
liballoc | ||
libarena | ||
libcore | ||
libfmt_macros | ||
libgraphviz | ||
libpanic_abort | ||
libpanic_unwind | ||
libproc_macro | ||
libprofiler_builtins | ||
librustc | ||
librustc_apfloat | ||
librustc_asan | ||
librustc_codegen_llvm | ||
librustc_codegen_ssa | ||
librustc_codegen_utils | ||
librustc_data_structures | ||
librustc_driver | ||
librustc_error_codes | ||
librustc_errors | ||
librustc_feature | ||
librustc_fs_util | ||
librustc_incremental | ||
librustc_index | ||
librustc_interface | ||
librustc_lexer | ||
librustc_lint | ||
librustc_llvm | ||
librustc_lsan | ||
librustc_macros | ||
librustc_metadata | ||
librustc_mir | ||
librustc_msan | ||
librustc_parse | ||
librustc_passes | ||
librustc_plugin_impl | ||
librustc_privacy | ||
librustc_resolve | ||
librustc_save_analysis | ||
librustc_session | ||
librustc_target | ||
librustc_traits | ||
librustc_tsan | ||
librustc_typeck | ||
librustdoc | ||
libserialize | ||
libstd | ||
libsyntax | ||
libsyntax_expand | ||
libsyntax_ext | ||
libsyntax_pos | ||
libterm | ||
libtest | ||
libunwind | ||
llvm-project@2cb41005ed | ||
rtstartup | ||
rustc | ||
rustllvm | ||
stdarch@e0ab2c165a | ||
test | ||
tools | ||
README.md | ||
stage0.txt |
This directory contains the source code of the rust project, including:
rustc
and its testslibstd
- Various submodules for tools, like rustdoc, rls, etc.
For more information on how various parts of the compiler work, see the rustc guide.