summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzhaixiaojuan <zhaixiaojuan@loongson.cn>2022-11-05 18:37:20 +0800
committerzhaixiaojuan <zhaixiaojuan@loongson.cn>2022-11-05 18:37:20 +0800
commit7066c3c4071a554c6fa5d874cf5108938e163fb2 (patch)
tree5dee99f418c94fc92bce00ef84bf77f8ce027275 /src
parentc206b79eb1d1571dc95c5e717e3bd6fe7de76583 (diff)
downloadrust-libc-7066c3c4071a554c6fa5d874cf5108938e163fb2.tar.gz
Add ucontext and clone_args for loongarch64
Diffstat (limited to 'src')
-rw-r--r--src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs33
1 files changed, 33 insertions, 0 deletions
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 7ca870fd02..4cae9c1c35 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,
+ }
+}