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.
This commit is contained in:
Greg V 2019-12-29 23:07:05 +00:00
parent 8c23f77704
commit e9a75ddd76
5 changed files with 8 additions and 32 deletions

View File

@ -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)] {

View File

@ -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::*;
}
}

View File

@ -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::*;
}
}