https://github.com/rust-lang/rust/issues/130677 From 9049542fabce9eea669d1fe3d4d973931c9d7d23 Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Mon, 23 Sep 2024 10:22:32 -0600 Subject: [PATCH] Fix the definition of ino_t on 32-bit FreeBSD 12+ Commit 7437d0a6f1 erroneously defined it as "ulong" instead of u64. Nobody noticed the mistake, probably because it was only tested on 64-bit architectures, where those are equivalent. But it's a problem now, after #3723 , which switched the standard library to a FreeBSD 12 ABI. Issue https://github.com/rust-lang/rust/issues/130677 --- src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs | 2 +- src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs | 2 +- src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs | 2 +- src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs | 2 +- src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs index de34069eabdf2..68a8364194607 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs @@ -4,7 +4,7 @@ pub type nlink_t = u16; // Type of `dev_t` changed from `u32` to `u64` in FreeBSD 12: pub type dev_t = u32; -// Type of `ino_t` changed from `unsigned int` to `unsigned long` in FreeBSD 12: +// Type of `ino_t` changed from `__uint32_t` to `__uint64_t` in FreeBSD 12: pub type ino_t = u32; s! { diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs index 10fcaa03a4ef6..197400ffb4e28 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs @@ -2,7 +2,7 @@ pub type nlink_t = u64; pub type dev_t = u64; -pub type ino_t = ::c_ulong; +pub type ino_t = u64; pub type shmatt_t = ::c_uint; s! { diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs index ec6bce2a03091..d3a77d03c48d0 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs @@ -2,7 +2,7 @@ pub type nlink_t = u64; pub type dev_t = u64; -pub type ino_t = ::c_ulong; +pub type ino_t = u64; pub type shmatt_t = ::c_uint; pub type kpaddr_t = u64; pub type kssize_t = i64; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs index 160a4baae481b..9d65317d29cb4 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs @@ -2,7 +2,7 @@ pub type nlink_t = u64; pub type dev_t = u64; -pub type ino_t = ::c_ulong; +pub type ino_t = u64; pub type shmatt_t = ::c_uint; pub type kpaddr_t = u64; pub type kssize_t = i64; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs index d73215a68ec33..f76208400f324 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs @@ -2,7 +2,7 @@ pub type nlink_t = u64; pub type dev_t = u64; -pub type ino_t = ::c_ulong; +pub type ino_t = u64; pub type shmatt_t = ::c_uint; pub type kpaddr_t = u64; pub type kssize_t = i64; From 8aca9c0126f3aa5a7dce1ad7fc016b4a0d6af70a Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Mon, 23 Sep 2024 10:44:13 -0600 Subject: [PATCH] Fix the definition of "struct stat" on 32-bit FreeBSD 12+ The original definitions were never correct. But nobody noticed because we don't do CI on 32-bit FreeBSD. The problem is apparent now due to #3723 , which caused the nightly toolchain to switch to a FreeBSD 12 ABI. Fixes https://github.com/rust-lang/rust/issues/130677 --- .../{freebsd12/b64.rs => freebsd11/b32.rs} | 13 +++--- .../bsd/freebsdlike/freebsd/freebsd11/mod.rs | 7 +-- .../bsd/freebsdlike/freebsd/freebsd12/mod.rs | 43 +++++++++++++++---- .../bsd/freebsdlike/freebsd/freebsd13/b64.rs | 34 --------------- .../bsd/freebsdlike/freebsd/freebsd13/mod.rs | 43 +++++++++++++++---- .../bsd/freebsdlike/freebsd/freebsd14/b64.rs | 34 --------------- .../bsd/freebsdlike/freebsd/freebsd14/mod.rs | 43 +++++++++++++++---- .../bsd/freebsdlike/freebsd/freebsd15/b64.rs | 34 --------------- .../bsd/freebsdlike/freebsd/freebsd15/mod.rs | 43 +++++++++++++++---- src/unix/bsd/freebsdlike/freebsd/x86.rs | 25 ----------- 10 files changed, 146 insertions(+), 173 deletions(-) rename src/unix/bsd/freebsdlike/freebsd/{freebsd12/b64.rs => freebsd11/b32.rs} (89%) delete mode 100644 src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs delete mode 100644 src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs delete mode 100644 src/unix/bsd/freebsdlike/freebsd/freebsd15/b64.rs diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs similarity index 89% rename from src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs rename to src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs.orig 2024-10-24 17:21:07.154172000 +0200 +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs 2024-10-24 17:21:02.029962000 +0200 @@ -0,0 +1,34 @@ +#[repr(C)] +#[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))] +pub struct stat { + pub st_dev: ::dev_t, + pub st_ino: ::ino_t, + pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, + st_padding0: i16, + pub st_uid: ::uid_t, + pub st_gid: ::gid_t, + st_padding1: i32, + pub st_rdev: ::dev_t, + pub st_atime: ::time_t, + pub st_atime_nsec: ::c_long, + pub st_mtime: ::time_t, + pub st_mtime_nsec: ::c_long, + pub st_ctime: ::time_t, + pub st_ctime_nsec: ::c_long, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, + pub st_size: ::off_t, + pub st_blocks: ::blkcnt_t, + pub st_blksize: ::blksize_t, + pub st_flags: ::fflags_t, + pub st_gen: u64, + pub st_spare: [u64; 10], +} + +impl ::Copy for ::stat {} +impl ::Clone for ::stat { + fn clone(&self) -> ::stat { + *self + } +} index 80c6fa1684530..5c1156581fd61 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs @@ -3,12 +3,10 @@ pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, - pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, - st_padding0: i16, + pub st_nlink: ::nlink_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, - st_padding1: i32, pub st_rdev: ::dev_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, @@ -16,14 +14,15 @@ pub struct stat { pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, pub st_size: ::off_t, pub st_blocks: ::blkcnt_t, pub st_blksize: ::blksize_t, pub st_flags: ::fflags_t, - pub st_gen: u64, - pub st_spare: [u64; 10], + pub st_gen: u32, + pub st_lspare: i32, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, + __unused: [u8; 8], } impl ::Copy for ::stat {} diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs index 68a8364194607..e416ebf745841 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs @@ -479,10 +479,11 @@ extern "C" { } cfg_if! { - if #[cfg(any(target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "riscv64"))] { + if #[cfg(target_pointer_width = "64")] { mod b64; pub use self::b64::*; + } else { + mod b32; + pub use self::b32::*; } } diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs index 197400ffb4e28..c4431a6458e8f 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs @@ -218,6 +218,40 @@ s! { /// kthread flag. pub ki_tdflags: ::c_long, } + + pub struct stat { + pub st_dev: ::dev_t, + pub st_ino: ::ino_t, + pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, + st_padding0: i16, + pub st_uid: ::uid_t, + pub st_gid: ::gid_t, + st_padding1: i32, + pub st_rdev: ::dev_t, + #[cfg(target_arch = "x86")] + st_atim_ext: i32, + pub st_atime: ::time_t, + pub st_atime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_mtim_ext: i32, + pub st_mtime: ::time_t, + pub st_mtime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_ctim_ext: i32, + pub st_ctime: ::time_t, + pub st_ctime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_btim_ext: i32, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, + pub st_size: ::off_t, + pub st_blocks: ::blkcnt_t, + pub st_blksize: ::blksize_t, + pub st_flags: ::fflags_t, + pub st_gen: u64, + pub st_spare: [u64; 10], + } } s_no_extra_traits! { @@ -488,15 +522,6 @@ extern "C" { pub fn basename(path: *mut ::c_char) -> *mut ::c_char; } -cfg_if! { - if #[cfg(any(target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "riscv64"))] { - mod b64; - pub use self::b64::*; - } -} - cfg_if! { if #[cfg(target_arch = "x86_64")] { mod x86_64; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs deleted file mode 100644 index 80c6fa1684530..0000000000000 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs +++ /dev/null @@ -1,34 +0,0 @@ -#[repr(C)] -#[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))] -pub struct stat { - pub st_dev: ::dev_t, - pub st_ino: ::ino_t, - pub st_nlink: ::nlink_t, - pub st_mode: ::mode_t, - st_padding0: i16, - pub st_uid: ::uid_t, - pub st_gid: ::gid_t, - st_padding1: i32, - pub st_rdev: ::dev_t, - pub st_atime: ::time_t, - pub st_atime_nsec: ::c_long, - pub st_mtime: ::time_t, - pub st_mtime_nsec: ::c_long, - pub st_ctime: ::time_t, - pub st_ctime_nsec: ::c_long, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, - pub st_size: ::off_t, - pub st_blocks: ::blkcnt_t, - pub st_blksize: ::blksize_t, - pub st_flags: ::fflags_t, - pub st_gen: u64, - pub st_spare: [u64; 10], -} - -impl ::Copy for ::stat {} -impl ::Clone for ::stat { - fn clone(&self) -> ::stat { - *self - } -} diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs index d3a77d03c48d0..118404e8b089b 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs @@ -228,6 +228,40 @@ s! { /// kthread flag. pub ki_tdflags: ::c_long, } + + pub struct stat { + pub st_dev: ::dev_t, + pub st_ino: ::ino_t, + pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, + st_padding0: i16, + pub st_uid: ::uid_t, + pub st_gid: ::gid_t, + st_padding1: i32, + pub st_rdev: ::dev_t, + #[cfg(target_arch = "x86")] + st_atim_ext: i32, + pub st_atime: ::time_t, + pub st_atime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_mtim_ext: i32, + pub st_mtime: ::time_t, + pub st_mtime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_ctim_ext: i32, + pub st_ctime: ::time_t, + pub st_ctime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_btim_ext: i32, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, + pub st_size: ::off_t, + pub st_blocks: ::blkcnt_t, + pub st_blksize: ::blksize_t, + pub st_flags: ::fflags_t, + pub st_gen: u64, + pub st_spare: [u64; 10], + } } s_no_extra_traits! { @@ -529,15 +563,6 @@ extern "C" { pub fn kvm_kerndisp(kd: *mut ::kvm_t) -> ::kssize_t; } -cfg_if! { - if #[cfg(any(target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "riscv64"))] { - mod b64; - pub use self::b64::*; - } -} - cfg_if! { if #[cfg(target_arch = "x86_64")] { mod x86_64; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs deleted file mode 100644 index 80c6fa1684530..0000000000000 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs +++ /dev/null @@ -1,34 +0,0 @@ -#[repr(C)] -#[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))] -pub struct stat { - pub st_dev: ::dev_t, - pub st_ino: ::ino_t, - pub st_nlink: ::nlink_t, - pub st_mode: ::mode_t, - st_padding0: i16, - pub st_uid: ::uid_t, - pub st_gid: ::gid_t, - st_padding1: i32, - pub st_rdev: ::dev_t, - pub st_atime: ::time_t, - pub st_atime_nsec: ::c_long, - pub st_mtime: ::time_t, - pub st_mtime_nsec: ::c_long, - pub st_ctime: ::time_t, - pub st_ctime_nsec: ::c_long, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, - pub st_size: ::off_t, - pub st_blocks: ::blkcnt_t, - pub st_blksize: ::blksize_t, - pub st_flags: ::fflags_t, - pub st_gen: u64, - pub st_spare: [u64; 10], -} - -impl ::Copy for ::stat {} -impl ::Clone for ::stat { - fn clone(&self) -> ::stat { - *self - } -} diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs index 9d65317d29cb4..e624dd7201b0a 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs @@ -228,6 +228,40 @@ s! { /// kthread flag. pub ki_tdflags: ::c_long, } + + pub struct stat { + pub st_dev: ::dev_t, + pub st_ino: ::ino_t, + pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, + st_padding0: i16, + pub st_uid: ::uid_t, + pub st_gid: ::gid_t, + st_padding1: i32, + pub st_rdev: ::dev_t, + #[cfg(target_arch = "x86")] + st_atim_ext: i32, + pub st_atime: ::time_t, + pub st_atime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_mtim_ext: i32, + pub st_mtime: ::time_t, + pub st_mtime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_ctim_ext: i32, + pub st_ctime: ::time_t, + pub st_ctime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_btim_ext: i32, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, + pub st_size: ::off_t, + pub st_blocks: ::blkcnt_t, + pub st_blksize: ::blksize_t, + pub st_flags: ::fflags_t, + pub st_gen: u64, + pub st_spare: [u64; 10], + } } s_no_extra_traits! { @@ -529,15 +563,6 @@ extern "C" { pub fn kvm_kerndisp(kd: *mut ::kvm_t) -> ::kssize_t; } -cfg_if! { - if #[cfg(any(target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "riscv64"))] { - mod b64; - pub use self::b64::*; - } -} - cfg_if! { if #[cfg(target_arch = "x86_64")] { mod x86_64; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd15/b64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd15/b64.rs deleted file mode 100644 index 80c6fa1684530..0000000000000 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd15/b64.rs +++ /dev/null @@ -1,34 +0,0 @@ -#[repr(C)] -#[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))] -pub struct stat { - pub st_dev: ::dev_t, - pub st_ino: ::ino_t, - pub st_nlink: ::nlink_t, - pub st_mode: ::mode_t, - st_padding0: i16, - pub st_uid: ::uid_t, - pub st_gid: ::gid_t, - st_padding1: i32, - pub st_rdev: ::dev_t, - pub st_atime: ::time_t, - pub st_atime_nsec: ::c_long, - pub st_mtime: ::time_t, - pub st_mtime_nsec: ::c_long, - pub st_ctime: ::time_t, - pub st_ctime_nsec: ::c_long, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, - pub st_size: ::off_t, - pub st_blocks: ::blkcnt_t, - pub st_blksize: ::blksize_t, - pub st_flags: ::fflags_t, - pub st_gen: u64, - pub st_spare: [u64; 10], -} - -impl ::Copy for ::stat {} -impl ::Clone for ::stat { - fn clone(&self) -> ::stat { - *self - } -} diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs index f76208400f324..a299af7d5d53e 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs @@ -228,6 +228,40 @@ s! { /// kthread flag. pub ki_tdflags: ::c_long, } + + pub struct stat { + pub st_dev: ::dev_t, + pub st_ino: ::ino_t, + pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, + st_padding0: i16, + pub st_uid: ::uid_t, + pub st_gid: ::gid_t, + st_padding1: i32, + pub st_rdev: ::dev_t, + #[cfg(target_arch = "x86")] + st_atim_ext: i32, + pub st_atime: ::time_t, + pub st_atime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_mtim_ext: i32, + pub st_mtime: ::time_t, + pub st_mtime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_ctim_ext: i32, + pub st_ctime: ::time_t, + pub st_ctime_nsec: ::c_long, + #[cfg(target_arch = "x86")] + st_btim_ext: i32, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, + pub st_size: ::off_t, + pub st_blocks: ::blkcnt_t, + pub st_blksize: ::blksize_t, + pub st_flags: ::fflags_t, + pub st_gen: u64, + pub st_spare: [u64; 10], + } } s_no_extra_traits! { @@ -529,15 +563,6 @@ extern "C" { pub fn kvm_kerndisp(kd: *mut ::kvm_t) -> ::kssize_t; } -cfg_if! { - if #[cfg(any(target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "riscv64"))] { - mod b64; - pub use self::b64::*; - } -} - cfg_if! { if #[cfg(target_arch = "x86_64")] { mod x86_64; diff --git a/src/unix/bsd/freebsdlike/freebsd/x86.rs b/src/unix/bsd/freebsdlike/freebsd/x86.rs index c3c576ed66681..31a660e7d0a22 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/x86.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/x86.rs @@ -42,31 +42,6 @@ s_no_extra_traits! { } s! { - pub struct stat { - pub st_dev: ::dev_t, - pub st_ino: ::ino_t, - pub st_mode: ::mode_t, - pub st_nlink: ::nlink_t, - pub st_uid: ::uid_t, - pub st_gid: ::gid_t, - pub st_rdev: ::dev_t, - pub st_atime: ::time_t, - pub st_atime_nsec: ::c_long, - pub st_mtime: ::time_t, - pub st_mtime_nsec: ::c_long, - pub st_ctime: ::time_t, - pub st_ctime_nsec: ::c_long, - pub st_size: ::off_t, - pub st_blocks: ::blkcnt_t, - pub st_blksize: ::blksize_t, - pub st_flags: ::fflags_t, - pub st_gen: u32, - pub st_lspare: i32, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, - __unused: [u8; 8], - } - pub struct ucontext_t { pub uc_sigmask: ::sigset_t, pub uc_mcontext: ::mcontext_t, From f381e010b2439579c9f548ef86fb06409c2c55d2 Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Mon, 23 Sep 2024 16:03:48 -0600 Subject: [PATCH] fixup: fix build on powerpc, powerpc64, and arm --- src/unix/bsd/freebsdlike/freebsd/arm.rs | 30 ------------------- src/unix/bsd/freebsdlike/freebsd/powerpc.rs | 26 ---------------- src/unix/bsd/freebsdlike/freebsd/powerpc64.rs | 26 ---------------- 3 files changed, 82 deletions(-) diff --git a/src/unix/bsd/freebsdlike/freebsd/arm.rs b/src/unix/bsd/freebsdlike/freebsd/arm.rs index 300b3dd45ca9d..8ff500c65981c 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/arm.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/arm.rs @@ -6,36 +6,6 @@ pub type time_t = i64; pub type suseconds_t = i32; pub type register_t = i32; -s! { - pub struct stat { - pub st_dev: ::dev_t, - pub st_ino: ::ino_t, - pub st_mode: ::mode_t, - pub st_nlink: ::nlink_t, - pub st_uid: ::uid_t, - pub st_gid: ::gid_t, - pub st_rdev: ::dev_t, - pub st_atime: ::time_t, - pub st_atime_nsec: ::c_long, - pub st_atime_pad: ::c_long, - pub st_mtime: ::time_t, - pub st_mtime_nsec: ::c_long, - pub st_mtime_pad: ::c_long, - pub st_ctime: ::time_t, - pub st_ctime_nsec: ::c_long, - pub st_ctime_pad: ::c_long, - pub st_size: ::off_t, - pub st_blocks: ::blkcnt_t, - pub st_blksize: ::blksize_t, - pub st_flags: ::fflags_t, - pub st_gen: u32, - pub st_lspare: i32, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, - pub st_birthtime_pad: ::c_long, - } -} - // should be pub(crate), but that requires Rust 1.18.0 cfg_if! { if #[cfg(libc_const_size_of)] { diff --git a/src/unix/bsd/freebsdlike/freebsd/powerpc.rs b/src/unix/bsd/freebsdlike/freebsd/powerpc.rs index a0120c337e0ad..f84062ba34b93 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/powerpc.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/powerpc.rs @@ -6,32 +6,6 @@ pub type time_t = i64; pub type suseconds_t = i32; pub type register_t = i32; -s! { - pub struct stat { - pub st_dev: ::dev_t, - pub st_ino: ::ino_t, - pub st_mode: ::mode_t, - pub st_nlink: ::nlink_t, - pub st_uid: ::uid_t, - pub st_gid: ::gid_t, - pub st_rdev: ::dev_t, - pub st_atime: ::time_t, - pub st_atime_nsec: ::c_long, - pub st_mtime: ::time_t, - pub st_mtime_nsec: ::c_long, - pub st_ctime: ::time_t, - pub st_ctime_nsec: ::c_long, - pub st_size: ::off_t, - pub st_blocks: ::blkcnt_t, - pub st_blksize: ::blksize_t, - pub st_flags: ::fflags_t, - pub st_gen: u32, - pub st_lspare: i32, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, - } -} - // should be pub(crate), but that requires Rust 1.18.0 cfg_if! { if #[cfg(libc_const_size_of)] { diff --git a/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs b/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs index 7f5b9752264e3..69cf4c5fc88c7 100644 --- vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs +++ vendor/libc-0.2.158/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs @@ -6,32 +6,6 @@ pub type time_t = i64; pub type suseconds_t = i64; pub type register_t = i64; -s! { - pub struct stat { - pub st_dev: ::dev_t, - pub st_ino: ::ino_t, - pub st_mode: ::mode_t, - pub st_nlink: ::nlink_t, - pub st_uid: ::uid_t, - pub st_gid: ::gid_t, - pub st_rdev: ::dev_t, - pub st_atime: ::time_t, - pub st_atime_nsec: ::c_long, - pub st_mtime: ::time_t, - pub st_mtime_nsec: ::c_long, - pub st_ctime: ::time_t, - pub st_ctime_nsec: ::c_long, - pub st_size: ::off_t, - pub st_blocks: ::blkcnt_t, - pub st_blksize: ::blksize_t, - pub st_flags: ::fflags_t, - pub st_gen: u32, - pub st_lspare: i32, - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, - } -} - // should be pub(crate), but that requires Rust 1.18.0 cfg_if! { if #[cfg(libc_const_size_of)] {