From 7066c3c4071a554c6fa5d874cf5108938e163fb2 Mon Sep 17 00:00:00 2001 From: zhaixiaojuan Date: Sat, 5 Nov 2022 18:37:20 +0800 Subject: [PATCH] Add ucontext and clone_args for loongarch64 --- .../linux/gnu/b64/loongarch64/align.rs | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs b/src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs index 7ca870fd02b71..4cae9c1c35f68 100644 --- a/src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs +++ b/src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs @@ -5,3 +5,36 @@ s_no_extra_traits! { priv_: [f64; 4] } } + +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 sc_pc: ::c_ulonglong, + pub sc_regs: [::c_ulonglong; 32], + pub sc_flags: ::c_ulong, + pub sc_extcontext: [u64; 0], + } + + #[repr(align(8))] + pub struct clone_args { + pub flags: ::c_ulonglong, + pub pidfd: ::c_ulonglong, + pub child_tid: ::c_ulonglong, + pub parent_tid: ::c_ulonglong, + pub exit_signal: ::c_ulonglong, + pub stack: ::c_ulonglong, + pub stack_size: ::c_ulonglong, + pub tls: ::c_ulonglong, + pub set_tid: ::c_ulonglong, + pub set_tid_size: ::c_ulonglong, + pub cgroup: ::c_ulonglong, + } +}