summaryrefslogtreecommitdiff
path: root/src/unix/linux_like/linux/musl/b64/riscv64/align.rs
diff options
context:
space:
mode:
authorAmanieu d'Antras <amanieu@gmail.com>2022-02-14 14:18:31 +0000
committerAmanieu d'Antras <amanieu@gmail.com>2022-02-14 14:33:44 +0000
commit3fa2b561e250d090d7e578e74c79116138d2668b (patch)
tree9b262e089d21525fbf9b730f740b14cf8075d379 /src/unix/linux_like/linux/musl/b64/riscv64/align.rs
parent9c7a326a2ca554a25924f280f8b69de9a57401ec (diff)
downloadrust-libc-3fa2b561e250d090d7e578e74c79116138d2668b.tar.gz
Add ucontext_t and mcontext_t for RISC-V Linux
Diffstat (limited to 'src/unix/linux_like/linux/musl/b64/riscv64/align.rs')
-rw-r--r--src/unix/linux_like/linux/musl/b64/riscv64/align.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/unix/linux_like/linux/musl/b64/riscv64/align.rs b/src/unix/linux_like/linux/musl/b64/riscv64/align.rs
new file mode 100644
index 0000000000..48d152a572
--- /dev/null
+++ b/src/unix/linux_like/linux/musl/b64/riscv64/align.rs
@@ -0,0 +1,44 @@
+s_no_extra_traits! {
+ #[allow(missing_debug_implementations)]
+ 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,
+ }
+
+ #[allow(missing_debug_implementations)]
+ #[repr(align(16))]
+ pub struct mcontext_t {
+ pub __gregs: [::c_ulong; 32],
+ pub __fpregs: __riscv_mc_fp_state,
+ }
+
+ #[allow(missing_debug_implementations)]
+ pub union __riscv_mc_fp_state {
+ pub __f: __riscv_mc_f_ext_state,
+ pub __d: __riscv_mc_d_ext_state,
+ pub __q: __riscv_mc_q_ext_state,
+ }
+
+ #[allow(missing_debug_implementations)]
+ pub struct __riscv_mc_f_ext_state {
+ pub __f: [::c_uint; 32],
+ pub __fcsr: ::c_uint,
+ }
+
+ #[allow(missing_debug_implementations)]
+ pub struct __riscv_mc_d_ext_state {
+ pub __f: [::c_ulonglong; 32],
+ pub __fcsr: ::c_uint,
+ }
+
+ #[allow(missing_debug_implementations)]
+ #[repr(align(16))]
+ pub struct __riscv_mc_q_ext_state {
+ pub __f: [::c_ulonglong; 64],
+ pub __fcsr: ::c_uint,
+ pub __glibc_reserved: [::c_uint; 3],
+ }
+}