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

Enhance build-time configuration #105

Open
jethrogb opened this issue Feb 17, 2019 · 0 comments
Open

Enhance build-time configuration #105

jethrogb opened this issue Feb 17, 2019 · 0 comments
Labels
C-fortanix-sgx-tools Crate: fortanix-sgx-tools enhancement needs-design std/rustc Requires changes in Rust std/rustc

Comments

@jethrogb
Copy link
Member

Currently, the following information is injected into the binary at build time (post-link):

  • Symbols
    • ENCLAVE_SIZE
    • RELA, RELACOUNT
    • HEAP_BASE, HEAP_SIZE
    • CFGDATA_BASE
    • EH_FRM_HDR_BASE, EH_FRM_HDR_SIZE
    • TEXT_BASE, TEXT_SIZE
    • DEBUG
  • TCSes
  1. Consider adding a more generic mechanism for information injection.
    • Consider making SGX_INEFFECTIVE_ERROR configurable.
  2. Consider adding additional infrastructure for run-time introspection (say, obtaining the number of TCSes, possibly even their addresses).
  3. Consider making DEBUG more than just a single bit.
    • Does a panic output anything?
    • Are backtraces enabled?
    • Is the enclave state saved on enclave abort?
    • ...?
  4. EH_FRM_HDR_BASE, EH_FRM_HDR_SIZE, TEXT_BASE, TEXT_SIZE may be elided if the enclave is compiled with panic = "abort". Maybe these should be defined in panic_unwind instead of std?

Related #16, #84

@jethrogb jethrogb added enhancement C-fortanix-sgx-tools Crate: fortanix-sgx-tools std/rustc Requires changes in Rust std/rustc labels Feb 17, 2019
This was referenced Feb 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-fortanix-sgx-tools Crate: fortanix-sgx-tools enhancement needs-design std/rustc Requires changes in Rust std/rustc
Projects
None yet
Development

No branches or pull requests

2 participants