about summary refs log tree commit diff
path: root/src/libunwind
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-07-23 09:35:34 -0700
committerGitHub <noreply@github.com>2016-07-23 09:35:34 -0700
commit2c50f4e484d1c871538ee99032ec2986177b8062 (patch)
treed98c82be038621f329e36492d17d0838cf5e2216 /src/libunwind
parentfd1d3603d46422bef6531a2d74401361ba1d822b (diff)
parent051c2d14fb1e73866376668088971605d38f0c65 (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.rs8
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;