From 33d6a5909ca822e8f5a0ebb0d302761cdd0dd184 Mon Sep 17 00:00:00 2001 From: Aster Boese Date: Tue, 22 Jul 2025 15:16:47 -0400 Subject: [PATCH 1/2] musl: add semid_ds and seminfo Adds the semid_ds struct based upon arch/generic/bits/sem.h and adds the seminfo struct based upon include/sys/sem.h. Signed-off-by: Aster Boese --- src/unix/linux_like/linux/musl/b32/mod.rs | 16 ++++++++++++++++ src/unix/linux_like/linux/musl/b64/mod.rs | 16 ++++++++++++++++ src/unix/linux_like/linux/musl/mod.rs | 13 +++++++++++++ 3 files changed, 45 insertions(+) diff --git a/src/unix/linux_like/linux/musl/b32/mod.rs b/src/unix/linux_like/linux/musl/b32/mod.rs index 00b3d7705090f..18988e1e628e5 100644 --- a/src/unix/linux_like/linux/musl/b32/mod.rs +++ b/src/unix/linux_like/linux/musl/b32/mod.rs @@ -15,6 +15,22 @@ s! { __val: [c_ulong; 32], } + pub struct semid_ds { + pub sem_perm: crate::ipc_perm, + pub sem_otime: crate::time_t, + pub sem_ctime: crate::time_t, + #[cfg(target_endian = "little")] + pub sem_nsems: crate::c_ushort, + #[cfg(target_endian = "little")] + __sem_nsems_pad: crate::c_char, + #[cfg(target_endian = "big")] + __sem_nsems_pad: crate::c_char, + #[cfg(target_endian = "big")] + pub sem_nsems: crate::c_ushort, + __unused3: crate::c_long, + __unused4: crate::c_long, + } + pub struct msghdr { pub msg_name: *mut c_void, pub msg_namelen: crate::socklen_t, diff --git a/src/unix/linux_like/linux/musl/b64/mod.rs b/src/unix/linux_like/linux/musl/b64/mod.rs index 1bfd812ab2a34..b46772c67be56 100644 --- a/src/unix/linux_like/linux/musl/b64/mod.rs +++ b/src/unix/linux_like/linux/musl/b64/mod.rs @@ -34,6 +34,22 @@ s! { __pad2: c_ulong, } + pub struct semid_ds { + pub sem_perm: crate::ipc_perm, + pub sem_otime: crate::time_t, + pub sem_ctime: crate::time_t, + #[cfg(target_endian = "little")] + pub sem_nsems: crate::c_ushort, + #[cfg(target_endian = "little")] + __sem_nsems_pad: crate::c_char, + #[cfg(target_endian = "big")] + __sem_nsems_pad: crate::c_char, + #[cfg(target_endian = "big")] + pub sem_nsems: crate::c_ushort, + __unused3: crate::c_long, + __unused4: crate::c_long, + } + pub struct msqid_ds { pub msg_perm: crate::ipc_perm, pub msg_stime: crate::time_t, diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs index 2d93282b2deca..40f0409e2559f 100644 --- a/src/unix/linux_like/linux/musl/mod.rs +++ b/src/unix/linux_like/linux/musl/mod.rs @@ -279,6 +279,19 @@ s! { pub ch_addralign: crate::Elf32_Word, } + pub struct seminfo { + pub semmap: c_int, + pub semmni: c_int, + pub semmns: c_int, + pub semmnu: c_int, + pub semmsl: c_int, + pub semopm: c_int, + pub semume: c_int, + pub semusz: c_int, + pub semvmx: c_int, + pub semaem: c_int, + } + pub struct timex { pub modes: c_uint, pub offset: c_long, From 54064e25783a92e46b9643e8720541bcceca48ce Mon Sep 17 00:00:00 2001 From: Aster Boese Date: Tue, 22 Jul 2025 15:20:03 -0400 Subject: [PATCH 2/2] libc-test: linux-musl: add semid_ds and seminfo Signed-off-by: Aster Boese --- libc-test/semver/linux-musl.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libc-test/semver/linux-musl.txt b/libc-test/semver/linux-musl.txt index 8497fe9cf529a..b028b51d04d34 100644 --- a/libc-test/semver/linux-musl.txt +++ b/libc-test/semver/linux-musl.txt @@ -85,6 +85,8 @@ pututxline pwritev2 pwritev64 reallocarray +semid_ds +seminfo setutxent tcp_info timex