From e30b5acdc31ae765e5a6e6c4a3598731222fc461 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 5 Mar 2023 10:20:49 +0000 Subject: [PATCH] removing freebsd 11 EOL proposal. --- build.rs | 9 +- ci/dox.sh | 2 +- .../bsd/freebsdlike/freebsd/freebsd11/b64.rs | 32 -- .../bsd/freebsdlike/freebsd/freebsd11/mod.rs | 478 ------------------ src/unix/bsd/freebsdlike/freebsd/mod.rs | 56 +- src/unix/bsd/freebsdlike/mod.rs | 8 - src/unix/bsd/mod.rs | 23 +- src/unix/mod.rs | 28 - 8 files changed, 9 insertions(+), 627 deletions(-) delete mode 100644 src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs delete mode 100644 src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs diff --git a/build.rs b/build.rs index e97be1a6ab108..aa4000b81d500 100644 --- a/build.rs +++ b/build.rs @@ -19,20 +19,13 @@ fn main() { ); } - // The ABI of libc used by libstd is backward compatible with FreeBSD 10. - // The ABI of libc from crates.io is backward compatible with FreeBSD 11. - // // On CI, we detect the actual FreeBSD version and match its ABI exactly, // running tests to ensure that the ABI is correct. match which_freebsd() { - Some(10) if libc_ci || rustc_dep_of_std => { - println!("cargo:rustc-cfg=freebsd10") - } - Some(11) if libc_ci => println!("cargo:rustc-cfg=freebsd11"), Some(12) if libc_ci => println!("cargo:rustc-cfg=freebsd12"), Some(13) if libc_ci => println!("cargo:rustc-cfg=freebsd13"), Some(14) if libc_ci => println!("cargo:rustc-cfg=freebsd14"), - Some(_) | None => println!("cargo:rustc-cfg=freebsd11"), + Some(_) | None => println!("cargo:rustc-cfg=freebsd12"), } // On CI: deny all warnings diff --git a/ci/dox.sh b/ci/dox.sh index 6dd1e4a2282c7..3ec54c923a08d 100644 --- a/ci/dox.sh +++ b/ci/dox.sh @@ -47,7 +47,7 @@ while read -r target; do rustup target add "${target}" || true # Enable extra configuration flags: - export RUSTDOCFLAGS="--cfg freebsd11" + export RUSTDOCFLAGS="--cfg freebsd12" # If cargo doc fails, then try with unstable feature: if ! cargo doc --target "${target}" \ diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs deleted file mode 100644 index f32128f775574..0000000000000 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs +++ /dev/null @@ -1,32 +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_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, -} - -impl ::Copy for ::stat {} -impl ::Clone for ::stat { - fn clone(&self) -> ::stat { - *self - } -} diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs deleted file mode 100644 index f2d170fb28864..0000000000000 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs +++ /dev/null @@ -1,478 +0,0 @@ -// APIs that were changed after FreeBSD 11 - -// The type of `nlink_t` changed from `u16` to `u64` in FreeBSD 12: -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: -pub type ino_t = u32; - -s! { - pub struct kevent { - pub ident: ::uintptr_t, - pub filter: ::c_short, - pub flags: ::c_ushort, - pub fflags: ::c_uint, - pub data: ::intptr_t, - pub udata: *mut ::c_void, - } - - pub struct shmid_ds { - pub shm_perm: ::ipc_perm, - pub shm_segsz: ::size_t, - pub shm_lpid: ::pid_t, - pub shm_cpid: ::pid_t, - // Type of shm_nattc changed from `int` to `shmatt_t` (aka `unsigned - // int`) in FreeBSD 12: - pub shm_nattch: ::c_int, - pub shm_atime: ::time_t, - pub shm_dtime: ::time_t, - pub shm_ctime: ::time_t, - } - - pub struct kinfo_proc { - /// Size of this structure. - pub ki_structsize: ::c_int, - /// Reserved: layout identifier. - pub ki_layout: ::c_int, - /// Address of command arguments. - pub ki_args: *mut ::pargs, - // This is normally "struct proc". - /// Address of proc. - pub ki_paddr: *mut ::c_void, - // This is normally "struct user". - /// Kernel virtual address of u-area. - pub ki_addr: *mut ::c_void, - // This is normally "struct vnode". - /// Pointer to trace file. - pub ki_tracep: *mut ::c_void, - // This is normally "struct vnode". - /// Pointer to executable file. - pub ki_textvp: *mut ::c_void, - // This is normally "struct filedesc". - /// Pointer to open file info. - pub ki_fd: *mut ::c_void, - // This is normally "struct vmspace". - /// Pointer to kernel vmspace struct. - pub ki_vmspace: *mut ::c_void, - /// Sleep address. - pub ki_wchan: *mut ::c_void, - /// Process identifier. - pub ki_pid: ::pid_t, - /// Parent process ID. - pub ki_ppid: ::pid_t, - /// Process group ID. - pub ki_pgid: ::pid_t, - /// tty process group ID. - pub ki_tpgid: ::pid_t, - /// Process session ID. - pub ki_sid: ::pid_t, - /// Terminal session ID. - pub ki_tsid: ::pid_t, - /// Job control counter. - pub ki_jobc: ::c_short, - /// Unused (just here for alignment). - pub ki_spare_short1: ::c_short, - /// Controlling tty dev. - pub ki_tdev: ::dev_t, - /// Signals arrived but not delivered. - pub ki_siglist: ::sigset_t, - /// Current signal mask. - pub ki_sigmask: ::sigset_t, - /// Signals being ignored. - pub ki_sigignore: ::sigset_t, - /// Signals being caught by user. - pub ki_sigcatch: ::sigset_t, - /// Effective user ID. - pub ki_uid: ::uid_t, - /// Real user ID. - pub ki_ruid: ::uid_t, - /// Saved effective user ID. - pub ki_svuid: ::uid_t, - /// Real group ID. - pub ki_rgid: ::gid_t, - /// Saved effective group ID. - pub ki_svgid: ::gid_t, - /// Number of groups. - pub ki_ngroups: ::c_short, - /// Unused (just here for alignment). - pub ki_spare_short2: ::c_short, - /// Groups. - pub ki_groups: [::gid_t; ::KI_NGROUPS], - /// Virtual size. - pub ki_size: ::vm_size_t, - /// Current resident set size in pages. - pub ki_rssize: ::segsz_t, - /// Resident set size before last swap. - pub ki_swrss: ::segsz_t, - /// Text size (pages) XXX. - pub ki_tsize: ::segsz_t, - /// Data size (pages) XXX. - pub ki_dsize: ::segsz_t, - /// Stack size (pages). - pub ki_ssize: ::segsz_t, - /// Exit status for wait & stop signal. - pub ki_xstat: ::u_short, - /// Accounting flags. - pub ki_acflag: ::u_short, - /// %cpu for process during `ki_swtime`. - pub ki_pctcpu: ::fixpt_t, - /// Time averaged value of `ki_cpticks`. - pub ki_estcpu: ::u_int, - /// Time since last blocked. - pub ki_slptime: ::u_int, - /// Time swapped in or out. - pub ki_swtime: ::u_int, - /// Number of copy-on-write faults. - pub ki_cow: ::u_int, - /// Real time in microsec. - pub ki_runtime: u64, - /// Starting time. - pub ki_start: ::timeval, - /// Time used by process children. - pub ki_childtime: ::timeval, - /// P_* flags. - pub ki_flag: ::c_long, - /// KI_* flags (below). - pub ki_kiflag: ::c_long, - /// Kernel trace points. - pub ki_traceflag: ::c_int, - /// S* process status. - pub ki_stat: ::c_char, - /// Process "nice" value. - pub ki_nice: i8, // signed char - /// Process lock (prevent swap) count. - pub ki_lock: ::c_char, - /// Run queue index. - pub ki_rqindex: ::c_char, - /// Which cpu we are on. - pub ki_oncpu_old: ::c_uchar, - /// Last cpu we were on. - pub ki_lastcpu_old: ::c_uchar, - /// Thread name. - pub ki_tdname: [::c_char; ::TDNAMLEN + 1], - /// Wchan message. - pub ki_wmesg: [::c_char; ::WMESGLEN + 1], - /// Setlogin name. - pub ki_login: [::c_char; ::LOGNAMELEN + 1], - /// Lock name. - pub ki_lockname: [::c_char; ::LOCKNAMELEN + 1], - /// Command name. - pub ki_comm: [::c_char; ::COMMLEN + 1], - /// Emulation name. - pub ki_emul: [::c_char; ::KI_EMULNAMELEN + 1], - /// Login class. - pub ki_loginclass: [::c_char; ::LOGINCLASSLEN + 1], - /// More thread name. - pub ki_moretdname: [::c_char; ::MAXCOMLEN - ::TDNAMLEN + 1], - /// Spare string space. - pub ki_sparestrings: [[::c_char; 23]; 2], // little hack to allow PartialEq - /// Spare room for growth. - pub ki_spareints: [::c_int; ::KI_NSPARE_INT], - /// Which cpu we are on. - pub ki_oncpu: ::c_int, - /// Last cpu we were on. - pub ki_lastcpu: ::c_int, - /// PID of tracing process. - pub ki_tracer: ::c_int, - /// P2_* flags. - pub ki_flag2: ::c_int, - /// Default FIB number. - pub ki_fibnum: ::c_int, - /// Credential flags. - pub ki_cr_flags: ::u_int, - /// Process jail ID. - pub ki_jid: ::c_int, - /// Number of threads in total. - pub ki_numthreads: ::c_int, - /// Thread ID. - pub ki_tid: ::lwpid_t, - /// Process priority. - pub ki_pri: ::priority, - /// Process rusage statistics. - pub ki_rusage: ::rusage, - /// rusage of children processes. - pub ki_rusage_ch: ::rusage, - // This is normally "struct pcb". - /// Kernel virtual addr of pcb. - pub ki_pcb: *mut ::c_void, - /// Kernel virtual addr of stack. - pub ki_kstack: *mut ::c_void, - /// User convenience pointer. - pub ki_udata: *mut ::c_void, - // This is normally "struct thread". - pub ki_tdaddr: *mut ::c_void, - pub ki_spareptrs: [*mut ::c_void; ::KI_NSPARE_PTR], - pub ki_sparelongs: [::c_long; ::KI_NSPARE_LONG], - /// PS_* flags. - pub ki_sflag: ::c_long, - /// kthread flag. - pub ki_tdflags: ::c_long, - } -} - -s_no_extra_traits! { - pub struct dirent { - pub d_fileno: ::ino_t, - pub d_reclen: u16, - pub d_type: u8, - // Type of `d_namlen` changed from `char` to `u16` in FreeBSD 12: - pub d_namlen: u8, - pub d_name: [::c_char; 256], - } - - pub struct statfs { - pub f_version: u32, - pub f_type: u32, - pub f_flags: u64, - pub f_bsize: u64, - pub f_iosize: u64, - pub f_blocks: u64, - pub f_bfree: u64, - pub f_bavail: i64, - pub f_files: u64, - pub f_ffree: i64, - pub f_syncwrites: u64, - pub f_asyncwrites: u64, - pub f_syncreads: u64, - pub f_asyncreads: u64, - f_spare: [u64; 10], - pub f_namemax: u32, - pub f_owner: ::uid_t, - pub f_fsid: ::fsid_t, - f_charspare: [::c_char; 80], - pub f_fstypename: [::c_char; 16], - // Array length changed from 88 to 1024 in FreeBSD 12: - pub f_mntfromname: [::c_char; 88], - // Array length changed from 88 to 1024 in FreeBSD 12: - pub f_mntonname: [::c_char; 88], - } - - pub struct vnstat { - pub vn_fileid: u64, - pub vn_size: u64, - pub vn_mntdir: *mut ::c_char, - pub vn_dev: u32, - pub vn_fsid: u32, - pub vn_type: ::c_int, - pub vn_mode: u16, - pub vn_devname: [::c_char; ::SPECNAMELEN as usize + 1], - } -} - -cfg_if! { - if #[cfg(feature = "extra_traits")] { - impl PartialEq for statfs { - fn eq(&self, other: &statfs) -> bool { - self.f_version == other.f_version - && self.f_type == other.f_type - && self.f_flags == other.f_flags - && self.f_bsize == other.f_bsize - && self.f_iosize == other.f_iosize - && self.f_blocks == other.f_blocks - && self.f_bfree == other.f_bfree - && self.f_bavail == other.f_bavail - && self.f_files == other.f_files - && self.f_ffree == other.f_ffree - && self.f_syncwrites == other.f_syncwrites - && self.f_asyncwrites == other.f_asyncwrites - && self.f_syncreads == other.f_syncreads - && self.f_asyncreads == other.f_asyncreads - && self.f_namemax == other.f_namemax - && self.f_owner == other.f_owner - && self.f_fsid == other.f_fsid - && self.f_fstypename == other.f_fstypename - && self - .f_mntfromname - .iter() - .zip(other.f_mntfromname.iter()) - .all(|(a,b)| a == b) - && self - .f_mntonname - .iter() - .zip(other.f_mntonname.iter()) - .all(|(a,b)| a == b) - } - } - impl Eq for statfs {} - impl ::fmt::Debug for statfs { - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { - f.debug_struct("statfs") - .field("f_bsize", &self.f_bsize) - .field("f_iosize", &self.f_iosize) - .field("f_blocks", &self.f_blocks) - .field("f_bfree", &self.f_bfree) - .field("f_bavail", &self.f_bavail) - .field("f_files", &self.f_files) - .field("f_ffree", &self.f_ffree) - .field("f_syncwrites", &self.f_syncwrites) - .field("f_asyncwrites", &self.f_asyncwrites) - .field("f_syncreads", &self.f_syncreads) - .field("f_asyncreads", &self.f_asyncreads) - .field("f_namemax", &self.f_namemax) - .field("f_owner", &self.f_owner) - .field("f_fsid", &self.f_fsid) - .field("f_fstypename", &self.f_fstypename) - .field("f_mntfromname", &&self.f_mntfromname[..]) - .field("f_mntonname", &&self.f_mntonname[..]) - .finish() - } - } - impl ::hash::Hash for statfs { - fn hash(&self, state: &mut H) { - self.f_version.hash(state); - self.f_type.hash(state); - self.f_flags.hash(state); - self.f_bsize.hash(state); - self.f_iosize.hash(state); - self.f_blocks.hash(state); - self.f_bfree.hash(state); - self.f_bavail.hash(state); - self.f_files.hash(state); - self.f_ffree.hash(state); - self.f_syncwrites.hash(state); - self.f_asyncwrites.hash(state); - self.f_syncreads.hash(state); - self.f_asyncreads.hash(state); - self.f_namemax.hash(state); - self.f_owner.hash(state); - self.f_fsid.hash(state); - self.f_fstypename.hash(state); - self.f_mntfromname.hash(state); - self.f_mntonname.hash(state); - } - } - - impl PartialEq for dirent { - fn eq(&self, other: &dirent) -> bool { - self.d_fileno == other.d_fileno - && self.d_reclen == other.d_reclen - && self.d_type == other.d_type - && self.d_namlen == other.d_namlen - && self - .d_name[..self.d_namlen as _] - .iter() - .zip(other.d_name.iter()) - .all(|(a,b)| a == b) - } - } - impl Eq for dirent {} - impl ::fmt::Debug for dirent { - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { - f.debug_struct("dirent") - .field("d_fileno", &self.d_fileno) - .field("d_reclen", &self.d_reclen) - .field("d_type", &self.d_type) - .field("d_namlen", &self.d_namlen) - .field("d_name", &&self.d_name[..self.d_namlen as _]) - .finish() - } - } - impl ::hash::Hash for dirent { - fn hash(&self, state: &mut H) { - self.d_fileno.hash(state); - self.d_reclen.hash(state); - self.d_type.hash(state); - self.d_namlen.hash(state); - self.d_name[..self.d_namlen as _].hash(state); - } - } - - impl PartialEq for vnstat { - fn eq(&self, other: &vnstat) -> bool { - let self_vn_devname: &[::c_char] = &self.vn_devname; - let other_vn_devname: &[::c_char] = &other.vn_devname; - - self.vn_fileid == other.vn_fileid && - self.vn_size == other.vn_size && - self.vn_mntdir == other.vn_mntdir && - self.vn_dev == other.vn_dev && - self.vn_fsid == other.vn_fsid && - self.vn_type == other.vn_type && - self.vn_mode == other.vn_mode && - self_vn_devname == other_vn_devname - } - } - impl Eq for vnstat {} - impl ::fmt::Debug for vnstat { - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { - let self_vn_devname: &[::c_char] = &self.vn_devname; - - f.debug_struct("vnstat") - .field("vn_fileid", &self.vn_fileid) - .field("vn_size", &self.vn_size) - .field("vn_mntdir", &self.vn_mntdir) - .field("vn_dev", &self.vn_dev) - .field("vn_fsid", &self.vn_fsid) - .field("vn_type", &self.vn_type) - .field("vn_mode", &self.vn_mode) - .field("vn_devname", &self_vn_devname) - .finish() - } - } - impl ::hash::Hash for vnstat { - fn hash(&self, state: &mut H) { - let self_vn_devname: &[::c_char] = &self.vn_devname; - - self.vn_fileid.hash(state); - self.vn_size.hash(state); - self.vn_mntdir.hash(state); - self.vn_dev.hash(state); - self.vn_fsid.hash(state); - self.vn_type.hash(state); - self.vn_mode.hash(state); - self_vn_devname.hash(state); - } - } - } -} - -pub const ELAST: ::c_int = 96; -pub const RAND_MAX: ::c_int = 0x7fff_fffd; -pub const KI_NSPARE_PTR: usize = 6; -pub const MINCORE_SUPER: ::c_int = 0x20; -/// max length of devicename -pub const SPECNAMELEN: ::c_int = 63; - -safe_f! { - pub {const} fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t { - let major = major as ::dev_t; - let minor = minor as ::dev_t; - (major << 8) | minor - } -} - -extern "C" { - // Return type ::c_int was removed in FreeBSD 12 - pub fn setgrent() -> ::c_int; - - // Type of `addr` argument changed from `const void*` to `void*` - // in FreeBSD 12 - pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int; - - // Return type ::c_int was removed in FreeBSD 12 - pub fn freelocale(loc: ::locale_t) -> ::c_int; - - // Return type ::c_int changed to ::ssize_t in FreeBSD 12: - pub fn msgrcv( - msqid: ::c_int, - msgp: *mut ::c_void, - msgsz: ::size_t, - msgtyp: ::c_long, - msgflg: ::c_int, - ) -> ::c_int; - - // Type of `path` argument changed from `const void*` to `void*` - // in FreeBSD 12 - pub fn dirname(path: *const ::c_char) -> *mut ::c_char; - pub fn basename(path: *const ::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::*; - } -} diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index b70a40f15d2c6..72d21d53ce408 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -429,8 +429,6 @@ s! { pub kve_vn_fileid: u64, #[cfg(not(freebsd11))] pub kve_vn_fsid_freebsd11: u32, - #[cfg(freebsd11)] - pub kve_vn_fsid: u32, pub kve_flags: ::c_int, pub kve_resident: ::c_int, pub kve_private_resident: ::c_int, @@ -441,8 +439,6 @@ s! { pub kve_vn_size: u64, #[cfg(not(freebsd11))] pub kve_vn_rdev_freebsd11: u32, - #[cfg(freebsd11)] - pub kve_vn_rdev: u32, pub kve_vn_mode: u16, pub kve_status: u16, #[cfg(not(freebsd11))] @@ -451,8 +447,6 @@ s! { pub kve_vn_rdev: u64, #[cfg(not(freebsd11))] _kve_is_spare: [::c_int; 8], - #[cfg(freebsd11)] - _kve_is_spare: [::c_int; 12], pub kve_path: [[::c_char; 32]; 32], } @@ -3855,13 +3849,7 @@ pub const COMMLEN: usize = 19; pub const KI_EMULNAMELEN: usize = 16; /// number of groups in ki_groups pub const KI_NGROUPS: usize = 16; -cfg_if! { - if #[cfg(freebsd11)] { - pub const KI_NSPARE_INT: usize = 4; - } else { - pub const KI_NSPARE_INT: usize = 2; - } -} +pub const KI_NSPARE_INT: usize = 2; pub const KI_NSPARE_LONG: usize = 12; /// Flags for the process credential. pub const KI_CRF_CAPABILITY_MODE: usize = 0x00000001; @@ -4037,7 +4025,7 @@ pub const NZERO: ::c_int = 0; pub const RUSAGE_THREAD: ::c_int = 1; cfg_if! { - if #[cfg(any(freebsd11, target_pointer_width = "32"))] { + if #[cfg(target_pointer_width = "32")] { pub const ARG_MAX: ::c_int = 256 * 1024; } else { pub const ARG_MAX: ::c_int = 2 * 256 * 1024; @@ -4332,15 +4320,8 @@ pub const PS_FST_FFLAG_HASLOCK: ::c_int = 0x4000; pub const MAXFIDSZ: ::c_int = 16; /// Length of type name including null. pub const MFSNAMELEN: ::c_int = 16; -cfg_if! { - if #[cfg(any(freebsd10, freebsd11))] { - /// Size of on/from name bufs. - pub const MNAMELEN: ::c_int = 88; - } else { - /// Size of on/from name bufs. - pub const MNAMELEN: ::c_int = 1024; - } -} +/// Size of on/from name bufs. +pub const MNAMELEN: ::c_int = 1024; /// Using journaled soft updates. pub const MNT_SUJ: u64 = 0x100000000; @@ -4815,26 +4796,6 @@ safe_f! { } } -cfg_if! { - if #[cfg(not(any(freebsd10, freebsd11)))] { - extern "C" { - pub fn fhlink(fhp: *mut fhandle_t, to: *const ::c_char) -> ::c_int; - pub fn fhlinkat(fhp: *mut fhandle_t, tofd: ::c_int, to: *const ::c_char) -> ::c_int; - pub fn fhreadlink( - fhp: *mut fhandle_t, - buf: *mut ::c_char, - bufsize: ::size_t, - ) -> ::c_int; - pub fn getfhat( - fd: ::c_int, - path: *mut ::c_char, - fhp: *mut fhandle, - flag: ::c_int, - ) -> ::c_int; - } - } -} - extern "C" { #[cfg_attr(doc, doc(alias = "__errno_location"))] #[cfg_attr(doc, doc(alias = "errno"))] @@ -5128,9 +5089,7 @@ extern "C" { pub fn pthread_spin_trylock(lock: *mut pthread_spinlock_t) -> ::c_int; pub fn pthread_spin_unlock(lock: *mut pthread_spinlock_t) -> ::c_int; - #[cfg_attr(all(target_os = "freebsd", freebsd11), link_name = "statfs@FBSD_1.0")] pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; - #[cfg_attr(all(target_os = "freebsd", freebsd11), link_name = "fstatfs@FBSD_1.0")] pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int; @@ -5162,10 +5121,6 @@ extern "C" { pub fn getfh(path: *const ::c_char, fhp: *mut fhandle_t) -> ::c_int; pub fn lgetfh(path: *const ::c_char, fhp: *mut fhandle_t) -> ::c_int; pub fn getfsstat(buf: *mut ::statfs, bufsize: ::c_long, mode: ::c_int) -> ::c_int; - #[cfg_attr( - all(target_os = "freebsd", freebsd11), - link_name = "getmntinfo@FBSD_1.0" - )] pub fn getmntinfo(mntbufp: *mut *mut ::statfs, mode: ::c_int) -> ::c_int; pub fn mount( type_: *const ::c_char, @@ -5611,9 +5566,6 @@ cfg_if! { } else if #[cfg(freebsd12)] { mod freebsd12; pub use self::freebsd12::*; - } else if #[cfg(any(freebsd10, freebsd11))] { - mod freebsd11; - pub use self::freebsd11::*; } else { // Unknown freebsd version } diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs index 6a0f383bc06a6..021fcb0ed9150 100644 --- a/src/unix/bsd/freebsdlike/mod.rs +++ b/src/unix/bsd/freebsdlike/mod.rs @@ -1520,10 +1520,6 @@ extern "C" { pub fn getutxid(ut: *const utmpx) -> *mut utmpx; pub fn getutxline(ut: *const utmpx) -> *mut utmpx; pub fn initgroups(name: *const ::c_char, basegid: ::gid_t) -> ::c_int; - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "kevent@FBSD_1.0" - )] pub fn kevent( kq: ::c_int, changelist: *const ::kevent, @@ -1536,10 +1532,6 @@ extern "C" { pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; pub fn memrchr(cx: *const ::c_void, c: ::c_int, n: ::size_t) -> *mut ::c_void; pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int; - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "mknodat@FBSD_1.1" - )] pub fn mknodat( dirfd: ::c_int, pathname: *const ::c_char, diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs index 84e572edabee4..1ffb0e203662a 100644 --- a/src/unix/bsd/mod.rs +++ b/src/unix/bsd/mod.rs @@ -614,15 +614,9 @@ extern "C" { pub fn strerror_r(errnum: ::c_int, buf: *mut c_char, buflen: ::size_t) -> ::c_int; pub fn abs(i: ::c_int) -> ::c_int; pub fn labs(i: ::c_long) -> ::c_long; - #[cfg_attr( - all(target_os = "freebsd", any(freebsd12, freebsd11, freebsd10)), - link_name = "rand@FBSD_1.0" - )] + #[cfg_attr(all(target_os = "freebsd", freebsd12), link_name = "rand@FBSD_1.0")] pub fn rand() -> ::c_int; - #[cfg_attr( - all(target_os = "freebsd", any(freebsd12, freebsd11, freebsd10)), - link_name = "srand@FBSD_1.0" - )] + #[cfg_attr(all(target_os = "freebsd", freebsd12), link_name = "srand@FBSD_1.0")] pub fn srand(seed: ::c_uint); pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int; @@ -652,10 +646,6 @@ extern "C" { link_name = "glob$INODE64" )] #[cfg_attr(target_os = "netbsd", link_name = "__glob30")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "glob@FBSD_1.0" - )] pub fn glob( pattern: *const ::c_char, flags: ::c_int, @@ -663,10 +653,6 @@ extern "C" { pglob: *mut ::glob_t, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__globfree30")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "globfree@FBSD_1.0" - )] pub fn globfree(pglob: *mut ::glob_t); pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int; @@ -834,10 +820,7 @@ extern "C" { all(target_os = "macos", target_arch = "x86"), link_name = "wait4$UNIX2003" )] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd12, freebsd11, freebsd10)), - link_name = "wait4@FBSD_1.0" - )] + #[cfg_attr(all(target_os = "freebsd", freebsd12), link_name = "wait4@FBSD_1.0")] pub fn wait4( pid: ::pid_t, status: *mut ::c_int, diff --git a/src/unix/mod.rs b/src/unix/mod.rs index b005970b9de41..3dbf3de7f6928 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -732,10 +732,6 @@ extern "C" { link_name = "fstat$INODE64" )] #[cfg_attr(target_os = "netbsd", link_name = "__fstat50")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "fstat@FBSD_1.0" - )] pub fn fstat(fildes: ::c_int, buf: *mut stat) -> ::c_int; pub fn mkdir(path: *const c_char, mode: mode_t) -> ::c_int; @@ -745,10 +741,6 @@ extern "C" { link_name = "stat$INODE64" )] #[cfg_attr(target_os = "netbsd", link_name = "__stat50")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "stat@FBSD_1.0" - )] pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int; pub fn pclose(stream: *mut ::FILE) -> ::c_int; @@ -791,10 +783,6 @@ extern "C" { link_name = "readdir$INODE64" )] #[cfg_attr(target_os = "netbsd", link_name = "__readdir30")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "readdir@FBSD_1.0" - )] pub fn readdir(dirp: *mut ::DIR) -> *mut ::dirent; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), @@ -829,10 +817,6 @@ extern "C" { all(target_os = "macos", not(target_arch = "aarch64")), link_name = "fstatat$INODE64" )] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "fstatat@FBSD_1.1" - )] pub fn fstatat( dirfd: ::c_int, pathname: *const ::c_char, @@ -1022,10 +1006,6 @@ extern "C" { link_name = "lstat$INODE64" )] #[cfg_attr(target_os = "netbsd", link_name = "__lstat50")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "lstat@FBSD_1.0" - )] pub fn lstat(path: *const c_char, buf: *mut stat) -> ::c_int; #[cfg_attr( @@ -1276,10 +1256,6 @@ extern "C" { pub fn timegm(tm: *mut ::tm) -> time_t; #[cfg_attr(target_os = "netbsd", link_name = "__mknod50")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "mknod@FBSD_1.0" - )] pub fn mknod(pathname: *const ::c_char, mode: ::mode_t, dev: ::dev_t) -> ::c_int; pub fn gethostname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn endservent(); @@ -1466,10 +1442,6 @@ cfg_if! { #[cfg_attr(all(target_os = "macos", not(target_arch = "aarch64")), link_name = "readdir_r$INODE64")] #[cfg_attr(target_os = "netbsd", link_name = "__readdir_r30")] - #[cfg_attr( - all(target_os = "freebsd", any(freebsd11, freebsd10)), - link_name = "readdir_r@FBSD_1.0" - )] #[allow(non_autolinks)] // FIXME: `<>` breaks line length limit. /// The 64-bit libc on Solaris and illumos only has readdir_r. If a /// 32-bit Solaris or illumos target is ever created, it should use