From e9a75ddd76522bf7e56f282bf64976e0c9e8eb10 Mon Sep 17 00:00:00 2001 From: Greg V <greg@unrelenting.technology> Date: Sun, 29 Dec 2019 23:07:05 +0000 Subject: [PATCH] FreeBSD: use stat header in freebsd11/freebsd12 on aarch64 sys/stat.h is a machine-independent header, but it has ifdefs for i386. The version that was called x86_64.rs should be used on powerpc64 too, but I don't have a machine to test that on. --- src/unix/bsd/freebsdlike/freebsd/aarch64.rs | 26 ------------------- .../freebsd/freebsd11/{x86_64.rs => b64.rs} | 0 .../bsd/freebsdlike/freebsd/freebsd11/mod.rs | 7 ++--- .../freebsd/freebsd12/{x86_64.rs => b64.rs} | 0 .../bsd/freebsdlike/freebsd/freebsd12/mod.rs | 7 ++--- 5 files changed, 8 insertions(+), 32 deletions(-) rename src/unix/bsd/freebsdlike/freebsd/freebsd11/{x86_64.rs => b64.rs} (100%) rename src/unix/bsd/freebsdlike/freebsd/freebsd12/{x86_64.rs => b64.rs} (100%) diff --git a/src/unix/bsd/freebsdlike/freebsd/aarch64.rs b/src/unix/bsd/freebsdlike/freebsd/aarch64.rs index 22fd2b84..2ac6d4fb 100644 --- a/src/unix/bsd/freebsdlike/freebsd/aarch64.rs +++ b/src/unix/bsd/freebsdlike/freebsd/aarch64.rs @@ -4,32 +4,6 @@ pub type c_ulong = u64; pub type time_t = i64; pub type suseconds_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)] { diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/x86_64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs similarity index 100% rename from src/unix/bsd/freebsdlike/freebsd/freebsd11/x86_64.rs rename to src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs index 79a152fc..b443da31 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs @@ -217,8 +217,9 @@ extern "C" { } cfg_if! { - if #[cfg(target_arch = "x86_64")] { - mod x86_64; - pub use self::x86_64::*; + if #[cfg(any(target_arch = "x86_64", + target_arch = "aarch64"))] { + mod b64; + pub use self::b64::*; } } diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs similarity index 100% rename from src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs rename to src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs index 6bf7f957..e0dd712b 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs @@ -217,8 +217,9 @@ extern "C" { } cfg_if! { - if #[cfg(target_arch = "x86_64")] { - mod x86_64; - pub use self::x86_64::*; + if #[cfg(any(target_arch = "x86_64", + target_arch = "aarch64"))] { + mod b64; + pub use self::b64::*; } } -- GitLab