From acc98049904388df0fb011b3e0d980cf77a895f4 Mon Sep 17 00:00:00 2001 From: dybucc <149513579+dybucc@users.noreply.github.com> Date: Thu, 25 Jun 2026 11:39:43 +0200 Subject: [PATCH 1/2] linux(uclibc): remove explicit linking to libutil Removes linking directory to libutil in MIPS32. This did not seem necessary. Testing is pending. --- src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs b/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs index b6c8559e78b77..2ecf9c7c5c986 100644 --- a/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs @@ -661,7 +661,6 @@ pub const SYS_process_mrelease: c_long = 4000 + 448; pub const SYS_futex_waitv: c_long = 4000 + 449; pub const SYS_set_mempolicy_home_node: c_long = 4000 + 450; -#[link(name = "util")] extern "C" { pub fn sysctl( name: *mut c_int, From 5e6c4d9c41ae2a4dcaffd9d793b121ad6258287d Mon Sep 17 00:00:00 2001 From: dybucc <149513579+dybucc@users.noreply.github.com> Date: Thu, 25 Jun 2026 11:35:15 +0200 Subject: [PATCH 2/2] linux(uclibc): remove conflicting records Remove records that are already declared in top-level modules. This affects x86_64 only. There is no such supported Rust target. This change should virtually affect nobody. --- .../linux_like/linux/uclibc/x86_64/mod.rs | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/src/unix/linux_like/linux/uclibc/x86_64/mod.rs b/src/unix/linux_like/linux/uclibc/x86_64/mod.rs index 8ffcad9cbaa9d..af4bedbc082cc 100644 --- a/src/unix/linux_like/linux/uclibc/x86_64/mod.rs +++ b/src/unix/linux_like/linux/uclibc/x86_64/mod.rs @@ -234,19 +234,6 @@ s! { pub _f: [c_char; 0], } - pub struct glob_t { - // FIXME(ulibc) - pub gl_pathc: size_t, - pub gl_pathv: *mut *mut c_char, - pub gl_offs: size_t, - pub gl_flags: c_int, - __unused1: Padding<*mut c_void>, - __unused2: Padding<*mut c_void>, - __unused3: Padding<*mut c_void>, - __unused4: Padding<*mut c_void>, - __unused5: Padding<*mut c_void>, - } - pub struct cpu_set_t { // FIXME(ulibc) #[cfg(target_pointer_width = "32")] @@ -276,16 +263,6 @@ s! { } } -s_no_extra_traits! { - pub struct dirent { - pub d_ino: crate::ino64_t, - pub d_off: off64_t, - pub d_reclen: u16, - pub d_type: u8, - pub d_name: [c_char; 256], - } -} - // constants pub const ENAMETOOLONG: c_int = 36; // File name too long pub const ENOTEMPTY: c_int = 39; // Directory not empty