Skip to content

Conversation

@VardhanThigle
Copy link
Owner

@VardhanThigle VardhanThigle commented Jan 10, 2019

Supporting a new target for this crate needs us to support backtrace and symbolize.

backtrace:

This is supported via a port of libunwind which is linked to x86_64-fortanix-unknown-sgx. See rust-lang/#56979 for more details

symbolize:

To reduce enclave TCB size, we do not support symbol resolution for this target. So symbol resolution would basically pass via NOOP implementation. For generating backtrace after a panic, in the std library, we rather, display the offset of each function, which could be resolved later. See rust-lang/#57441 for more details.
This PR tries to emulate same behaviour for backtrace crate. Here we let the back trace have actual addresses, which would be consistent with the function pointers at run time. But, while displaying the back-trace structure, we convert the addresses to their corresponding offsets so that the user could easily resolve the actual symbols (say, via addr2len).

@VardhanThigle VardhanThigle force-pushed the Vardhan/x86_64-fortanix-unknown-sgx-support branch from c943c15 to c915e7a Compare January 10, 2019 09:35
1. Backtracing is supported via libunwind which is linked to x86_64-fortanix-unknown-sgx.
2. To reduce enclave TCB size, we do not support symbol resolution for this target.
   We rather, display the offset of each function, which could be resolved later.
@VardhanThigle VardhanThigle force-pushed the Vardhan/x86_64-fortanix-unknown-sgx-support branch from c915e7a to 5bf1992 Compare January 10, 2019 10:00
@VardhanThigle VardhanThigle merged commit 5bf1992 into master Dec 2, 2019
VardhanThigle pushed a commit that referenced this pull request Dec 2, 2019
vxWorks: use rtpInfoGet() to get rtp executable path
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants