From 3d3392b46e22770d22ff2c207bcccf2080f77975 Mon Sep 17 00:00:00 2001 From: Jens Reidel Date: Fri, 4 Jul 2025 07:34:21 +0200 Subject: [PATCH] musl: mips64: Use special MIPS definition of stack_t stack_t is sigaltstack, which in musl has a special definition for MIPS that switches around ss_size and ss_flags. The 32-bit definition was already correct. See: https://git.musl-libc.org/cgit/musl/tree/arch/mips64/bits/signal.h#n67 Signed-off-by: Jens Reidel --- src/unix/linux_like/linux/musl/b64/mips64.rs | 6 ++++++ src/unix/linux_like/linux/musl/b64/mod.rs | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/unix/linux_like/linux/musl/b64/mips64.rs b/src/unix/linux_like/linux/musl/b64/mips64.rs index 5f978f373983..14ac6cc515ed 100644 --- a/src/unix/linux_like/linux/musl/b64/mips64.rs +++ b/src/unix/linux_like/linux/musl/b64/mips64.rs @@ -56,6 +56,12 @@ s! { __pad5: [c_int; 14], } + pub struct stack_t { + pub ss_sp: *mut c_void, + pub ss_size: size_t, + pub ss_flags: c_int, + } + pub struct ipc_perm { #[cfg(musl_v1_2_3)] pub __key: crate::key_t, diff --git a/src/unix/linux_like/linux/musl/b64/mod.rs b/src/unix/linux_like/linux/musl/b64/mod.rs index 3fb059812b4f..1bfd812ab2a3 100644 --- a/src/unix/linux_like/linux/musl/b64/mod.rs +++ b/src/unix/linux_like/linux/musl/b64/mod.rs @@ -3,6 +3,8 @@ use crate::prelude::*; pub type regoff_t = c_long; s! { + // MIPS implementation is special, see the subfolder. + #[cfg(not(target_arch = "mips64"))] pub struct stack_t { pub ss_sp: *mut c_void, pub ss_flags: c_int,