diff options
| author | Jethro Beekman <jethro@fortanix.com> | 2019-02-14 12:39:54 +0530 |
|---|---|---|
| committer | Jethro Beekman <jethro@fortanix.com> | 2019-02-14 12:39:54 +0530 |
| commit | 347a42e38770593cb82affc6d3d7413ebae911f0 (patch) | |
| tree | 337de07657684916befd355f98470e8964016165 | |
| parent | 4772dc8087b1d0f2bab6d064fd930e596c82d439 (diff) | |
| download | rust-347a42e38770593cb82affc6d3d7413ebae911f0.tar.gz rust-347a42e38770593cb82affc6d3d7413ebae911f0.zip | |
SGX target: fix panic = abort
| -rw-r--r-- | src/libpanic_abort/lib.rs | 5 | ||||
| -rw-r--r-- | src/libstd/sys/sgx/rwlock.rs | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/libpanic_abort/lib.rs b/src/libpanic_abort/lib.rs index edc97cd28a5..8c20a6ea55a 100644 --- a/src/libpanic_abort/lib.rs +++ b/src/libpanic_abort/lib.rs @@ -58,8 +58,9 @@ pub unsafe extern fn __rust_start_panic(_payload: usize) -> u32 { #[cfg(all(target_vendor="fortanix", target_env="sgx"))] unsafe fn abort() -> ! { - extern "C" { pub fn panic_exit() -> !; } - panic_exit(); + // call std::sys::abort_internal + extern "C" { pub fn __rust_abort() -> !; } + __rust_abort(); } } diff --git a/src/libstd/sys/sgx/rwlock.rs b/src/libstd/sys/sgx/rwlock.rs index 33163a556c1..4dfbe86d14f 100644 --- a/src/libstd/sys/sgx/rwlock.rs +++ b/src/libstd/sys/sgx/rwlock.rs @@ -204,6 +204,7 @@ pub unsafe extern "C" fn __rust_print_err(m: *mut u8, s: i32) { } #[no_mangle] +// NB. used by both libunwind and libpanic_abort pub unsafe extern "C" fn __rust_abort() { ::sys::abort_internal(); } |
