diff options
| author | bors <bors@rust-lang.org> | 2016-07-23 09:35:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-07-23 09:35:34 -0700 |
| commit | 2c50f4e484d1c871538ee99032ec2986177b8062 (patch) | |
| tree | d98c82be038621f329e36492d17d0838cf5e2216 /src/libunwind | |
| parent | fd1d3603d46422bef6531a2d74401361ba1d822b (diff) | |
| parent | 051c2d14fb1e73866376668088971605d38f0c65 (diff) | |
Auto merge of #34832 - vadimcn:rusty-personality, r=alexcrichton
Implement rust_eh_personality in Rust, remove rust_eh_personality_catch. Well, not quite: ARM EHABI platforms still use the old scheme -- for now. r? @alexcrichton
Diffstat (limited to 'src/libunwind')
| -rw-r--r-- | src/libunwind/libunwind.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libunwind/libunwind.rs b/src/libunwind/libunwind.rs index aadfe202afe..d9b6c9ed74d 100644 --- a/src/libunwind/libunwind.rs +++ b/src/libunwind/libunwind.rs @@ -58,6 +58,7 @@ pub enum _Unwind_Reason_Code { pub type _Unwind_Exception_Class = u64; pub type _Unwind_Word = libc::uintptr_t; +pub type _Unwind_Ptr = libc::uintptr_t; pub type _Unwind_Trace_Fn = extern "C" fn(ctx: *mut _Unwind_Context, arg: *mut libc::c_void) -> _Unwind_Reason_Code; @@ -156,6 +157,13 @@ extern "C" { ip_before_insn: *mut libc::c_int) -> libc::uintptr_t; + pub fn _Unwind_GetLanguageSpecificData(ctx: *mut _Unwind_Context) -> _Unwind_Ptr; + pub fn _Unwind_GetRegionStart(ctx: *mut _Unwind_Context) -> _Unwind_Ptr; + pub fn _Unwind_GetTextRelBase(ctx: *mut _Unwind_Context) -> _Unwind_Ptr; + pub fn _Unwind_GetDataRelBase(ctx: *mut _Unwind_Context) -> _Unwind_Ptr; + pub fn _Unwind_SetGR(ctx: *mut _Unwind_Context, reg_index: libc::c_int, value: _Unwind_Ptr); + pub fn _Unwind_SetIP(ctx: *mut _Unwind_Context, value: _Unwind_Ptr); + #[cfg(all(not(target_os = "android"), not(all(target_os = "linux", target_arch = "arm"))))] pub fn _Unwind_FindEnclosingFunction(pc: *mut libc::c_void) -> *mut libc::c_void; |
