From 4ea56f7d094f67d08c5a38e607952211b7eea24c Mon Sep 17 00:00:00 2001 From: Jens Reidel Date: Fri, 4 Jul 2025 05:57:10 +0200 Subject: [PATCH] musl: mips64: Use special MIPS definition of statfs 64-bit MIPS has the same special definition as 32-bit MIPS in musl. See https://git.musl-libc.org/cgit/musl/tree/arch/mips64/bits/statfs.h Signed-off-by: Jens Reidel --- src/unix/linux_like/linux/musl/b64/mips64.rs | 30 ++++++++++++++++++++ src/unix/linux_like/linux/musl/mod.rs | 4 +-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/unix/linux_like/linux/musl/b64/mips64.rs b/src/unix/linux_like/linux/musl/b64/mips64.rs index 5f978f373983..45c04763c4dd 100644 --- a/src/unix/linux_like/linux/musl/b64/mips64.rs +++ b/src/unix/linux_like/linux/musl/b64/mips64.rs @@ -76,6 +76,36 @@ s! { __unused1: c_ulong, __unused2: c_ulong, } + + pub struct statfs { + pub f_type: c_ulong, + pub f_bsize: c_ulong, + pub f_frsize: c_ulong, + pub f_blocks: crate::fsblkcnt_t, + pub f_bfree: crate::fsblkcnt_t, + pub f_files: crate::fsfilcnt_t, + pub f_ffree: crate::fsfilcnt_t, + pub f_bavail: crate::fsblkcnt_t, + pub f_fsid: crate::fsid_t, + pub f_namelen: c_ulong, + pub f_flags: c_ulong, + pub f_spare: [c_ulong; 5], + } + + pub struct statfs64 { + pub f_type: c_ulong, + pub f_bsize: c_ulong, + pub f_frsize: c_ulong, + pub f_blocks: crate::fsblkcnt64_t, + pub f_bfree: crate::fsblkcnt64_t, + pub f_files: crate::fsfilcnt64_t, + pub f_ffree: crate::fsfilcnt64_t, + pub f_bavail: crate::fsblkcnt64_t, + pub f_fsid: crate::fsid_t, + pub f_namelen: c_ulong, + pub f_flags: c_ulong, + pub f_spare: [c_ulong; 5], + } } pub const SIGSTKSZ: size_t = 8192; diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs index b88af8be80cb..fd0215e7678b 100644 --- a/src/unix/linux_like/linux/musl/mod.rs +++ b/src/unix/linux_like/linux/musl/mod.rs @@ -373,7 +373,7 @@ s! { } // MIPS implementation is special (see mips arch folders) - #[cfg(not(target_arch = "mips"))] + #[cfg(not(any(target_arch = "mips", target_arch = "mips64")))] pub struct statfs { pub f_type: c_ulong, pub f_bsize: c_ulong, @@ -390,7 +390,7 @@ s! { } // MIPS implementation is special (see mips arch folders) - #[cfg(not(target_arch = "mips"))] + #[cfg(not(any(target_arch = "mips", target_arch = "mips64")))] pub struct statfs64 { pub f_type: c_ulong, pub f_bsize: c_ulong,