summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2020-07-02 09:33:15 -0700
committerAlex Crichton <alex@alexcrichton.com>2020-07-02 09:33:15 -0700
commit8059eda19d9e67dc411a90ac8c6481f5c9107c4a (patch)
tree6981cf62126a4899e6a9ff3b87a274f02940e85c
parentac09d6dfd014eccda952493c610214446b466422 (diff)
downloadrust-libc-8059eda19d9e67dc411a90ac8c6481f5c9107c4a.tar.gz
Add ucontext_t/mcontext_t for aarch64 Android
This ended up just getting copied from Linux as it appears to be the same.
-rw-r--r--src/unix/linux_like/android/b64/aarch64/align.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/unix/linux_like/android/b64/aarch64/align.rs b/src/unix/linux_like/android/b64/aarch64/align.rs
index 8e949963a6..154c2c54ce 100644
--- a/src/unix/linux_like/android/b64/aarch64/align.rs
+++ b/src/unix/linux_like/android/b64/aarch64/align.rs
@@ -5,3 +5,25 @@ s_no_extra_traits! {
priv_: [f32; 8]
}
}
+
+s! {
+ pub struct ucontext_t {
+ pub uc_flags: ::c_ulong,
+ pub uc_link: *mut ucontext_t,
+ pub uc_stack: ::stack_t,
+ pub uc_sigmask: ::sigset_t,
+ pub uc_mcontext: mcontext_t,
+ }
+
+ #[repr(align(16))]
+ pub struct mcontext_t {
+ pub fault_address: ::c_ulonglong,
+ pub regs: [::c_ulonglong; 31],
+ pub sp: ::c_ulonglong,
+ pub pc: ::c_ulonglong,
+ pub pstate: ::c_ulonglong,
+ // nested arrays to get the right size/length while being able to
+ // auto-derive traits like Debug
+ __reserved: [[u64; 32]; 16],
+ }
+}