Skip to content

Commit 9512aae

Browse files
committed
musl: aarch64: update type of ipc_perm->__seq to match upstream
The architecture-specific definitions was removed in upstream commit 319b2d0, changing the type to the generic definition of int.
1 parent 87a90e3 commit 9512aae

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

libc-test/build.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -3648,7 +3648,6 @@ fn test_linux(target: &str) {
36483648
let x32 = target.contains("x32");
36493649
let x86_32 = target.contains("i686");
36503650
let x86_64 = target.contains("x86_64");
3651-
let aarch64_musl = aarch64 && musl;
36523651
let gnueabihf = target.contains("gnueabihf");
36533652
let x86_64_gnux32 = target.contains("gnux32") && x86_64;
36543653
let riscv64 = target.contains("riscv64");
@@ -4759,8 +4758,8 @@ fn test_linux(target: &str) {
47594758
"sched_ss_init_budget",
47604759
"sched_ss_max_repl",
47614760
].contains(&field) && musl) ||
4762-
// FIXME(musl): After musl 1.1.24, the type becomes `int` instead of `unsigned short`.
4763-
(struct_ == "ipc_perm" && field == "__seq" && aarch64_musl) ||
4761+
// After musl 1.1.24, the type becomes `int` instead of `unsigned short`.
4762+
(struct_ == "ipc_perm" && field == "__seq" && old_musl && aarch64) ||
47644763
// glibc uses unnamed fields here and Rust doesn't support that yet
47654764
(struct_ == "timex" && field.starts_with("__unused")) ||
47664765
// FIXME(linux): It now takes mode_t since glibc 2.31 on some targets.

src/unix/linux_like/linux/musl/b64/aarch64/mod.rs

+11-2
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,18 @@ s! {
7474
pub cuid: crate::uid_t,
7575
pub cgid: crate::gid_t,
7676
pub mode: crate::mode_t,
77+
78+
#[cfg(musl_v1_2_3)]
79+
pub __seq: c_int,
80+
#[cfg(not(musl_v1_2_3))]
81+
#[deprecated(
82+
since = "0.2.173",
83+
note = "The type of this field has changed from c_ushort to c_int,
84+
we'll follow that change in the future release."
85+
)]
7786
pub __seq: c_ushort,
78-
__unused1: c_ulong,
79-
__unused2: c_ulong,
87+
__unused1: c_long,
88+
__unused2: c_long,
8089
}
8190

8291
pub struct ucontext_t {

0 commit comments

Comments
 (0)