diff options
author | Alex Crichton <alex@alexcrichton.com> | 2020-04-09 17:39:06 -0700 |
---|---|---|
committer | Alex Crichton <alex@alexcrichton.com> | 2020-04-10 11:15:06 -0700 |
commit | 17d5bc841b479219851b69bb43aff11c19b7f2bc (patch) | |
tree | 00dfa709dffd8840c943f0302494bc08a2e73640 | |
parent | a1c40924ae8aed3156121fe21be4fe698b368711 (diff) | |
download | rust-libc-17d5bc841b479219851b69bb43aff11c19b7f2bc.tar.gz |
Add definition of ucontext_t for aarch64-unknown-linux-gnu
-rw-r--r-- | src/unix/linux_like/linux/gnu/b64/aarch64/align.rs | 22 | ||||
-rw-r--r-- | src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs | 2 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs b/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs index 8e949963a6..154c2c54ce 100644 --- a/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs +++ b/src/unix/linux_like/linux/gnu/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], + } +} diff --git a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs index d64a1b02be..bf2e1c9934 100644 --- a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs @@ -533,7 +533,7 @@ pub const MAP_POPULATE: ::c_int = 0x08000; pub const MAP_NONBLOCK: ::c_int = 0x010000; pub const MAP_STACK: ::c_int = 0x020000; pub const MAP_HUGETLB: ::c_int = 0x040000; -pub const MAP_SYNC : ::c_int = 0x080000; +pub const MAP_SYNC: ::c_int = 0x080000; pub const EDEADLOCK: ::c_int = 35; |