From 962b984773e406ebf431bea886bff484a7c2cff0 Mon Sep 17 00:00:00 2001 From: Greg V <greg@unrelenting.technology> Date: Wed, 1 Jul 2020 15:27:21 +0300 Subject: [PATCH] FreeBSD: new rand()/srand() ABI in 13 https://reviews.freebsd.org/rS357382 --- src/unix/bsd/freebsdlike/freebsd/mod.rs | 9 ++++++++- src/unix/bsd/mod.rs | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 968fe4b3..35fe554a 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -322,7 +322,14 @@ pub const EXTATTR_NAMESPACE_EMPTY: ::c_int = 0; pub const EXTATTR_NAMESPACE_USER: ::c_int = 1; pub const EXTATTR_NAMESPACE_SYSTEM: ::c_int = 2; -pub const RAND_MAX: ::c_int = 0x7fff_fffd; +cfg_if! { + if #[cfg(any(freebsd10, freebsd11, freebsd12))] { + pub const RAND_MAX: ::c_int = 0x7fff_fffd; + } else { + pub const RAND_MAX: ::c_int = 0x7fff_ffff; + } +} + pub const PTHREAD_STACK_MIN: ::size_t = MINSIGSTKSZ; pub const PTHREAD_MUTEX_ADAPTIVE_NP: ::c_int = 4; pub const SIGSTKSZ: ::size_t = MINSIGSTKSZ + 32768; diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs index e90e4f7a..1b55078d 100644 --- a/src/unix/bsd/mod.rs +++ b/src/unix/bsd/mod.rs @@ -580,7 +580,15 @@ extern "C" { pub fn abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn labs(i: ::c_long) -> ::c_long; + #[cfg_attr( + all(target_os = "freebsd", any(freebsd12, freebsd11, freebsd10)), + 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" + )] pub fn srand(seed: ::c_uint); pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int; -- GitLab