Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F161156737
D21778.id62519.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
18 KB
Referenced Files
None
Subscribers
None
D21778.id62519.diff
View Options
Index: lang/rust/Makefile
===================================================================
--- lang/rust/Makefile
+++ lang/rust/Makefile
@@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= rust
-PORTVERSION?= 1.37.0
+PORTVERSION?= 1.38.0
PORTREVISION?= 0
CATEGORIES= lang
-MASTER_SITES= https://static.rust-lang.org/dist/:src \
+MASTER_SITES= https://dev-static.rust-lang.org/dist/:src \
https://static.rust-lang.org/dist/:rust_bootstrap \
LOCAL/tobik/rust:rust_bootstrap \
https://static.rust-lang.org/dist/:cargo_bootstrap \
@@ -18,6 +18,7 @@
${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:cargo_bootstrap \
${DISTFILES_${ARCH}}
DISTFILES_armv6= compiler-rt-8.0.1.src.tar.xz:compiler_rt
+DISTFILES_armv7= compiler-rt-8.0.1.src.tar.xz:compiler_rt
DIST_SUBDIR?= rust
EXTRACT_ONLY?= ${DISTFILES:N*\:*bootstrap:C/:.*//}
@@ -38,7 +39,7 @@
libgit2.so:devel/libgit2 \
libssh2.so:security/libssh2
-USES= libedit pkgconfig python:2.7,build ssl tar:xz
+USES= libedit pkgconfig python:build ssl tar:xz
CONFLICTS_INSTALL?= rust-nightly
@@ -54,9 +55,9 @@
GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb
# See WRKSRC/src/stage0.txt for the date and version values.
-BOOTSTRAPS_DATE?= 2019-07-04
-RUST_BOOTSTRAP_VERSION?= 1.36.0
-CARGO_BOOTSTRAP_VERSION?= 0.37.0
+BOOTSTRAPS_DATE?= 2019-08-15
+RUST_BOOTSTRAP_VERSION?= 1.37.0
+CARGO_BOOTSTRAP_VERSION?= 0.38.0
BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}}
BOOTSTRAPS_SUFFIX_powerpc64?= -elfv1
@@ -76,9 +77,9 @@
.include <bsd.port.pre.mk>
.if ${ARCH} == powerpc64
-# The bootstrap is hardcoded to use gcc8
+# The bootstrap is hardcoded to use gcc9
# but we can build with a newer or older compiler as provided by USE_GCC=yes
-BUILD_DEPENDS+= gcc8:lang/gcc8
+BUILD_DEPENDS+= gcc9:lang/gcc9
USE_GCC= yes
.endif
@@ -106,7 +107,7 @@
${WRKSRC}/build/cache/${_RUST_STD_BOOTSTRAP}.tar.gz
${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \
${WRKSRC}/build/cache/${_CARGO_BOOTSTRAP}.tar.gz
-.if ${ARCH} == armv6
+.if ${ARCH} == armv6 || ${ARCH} == armv7
${LN} -sf ${WRKDIR}/compiler-rt-8.0.1.src ${WRKSRC}/src/llvm-project/compiler-rt
.endif
Index: lang/rust/distinfo
===================================================================
--- lang/rust/distinfo
+++ lang/rust/distinfo
@@ -1,47 +1,49 @@
-TIMESTAMP = 1567322590
-SHA256 (rust/rustc-1.37.0-src.tar.xz) = 10abffac50a729cf74cef6dd03193a2f4647541bd19ee9281be9e5b12ca8cdfd
-SIZE (rust/rustc-1.37.0-src.tar.xz) = 98654252
-SHA256 (rust/2019-07-04/rustc-1.36.0-aarch64-unknown-freebsd.tar.gz) = 8eec2d7750c96030b6b95eec2bc9ed1b7194780628d6017f615c2effdcc3b928
-SIZE (rust/2019-07-04/rustc-1.36.0-aarch64-unknown-freebsd.tar.gz) = 68458486
-SHA256 (rust/2019-07-04/rust-std-1.36.0-aarch64-unknown-freebsd.tar.gz) = 3c1e46be0c1d42bec5538eccc07e948d65743a160417856bf6d5885cede31c98
-SIZE (rust/2019-07-04/rust-std-1.36.0-aarch64-unknown-freebsd.tar.gz) = 77059731
-SHA256 (rust/2019-07-04/cargo-0.37.0-aarch64-unknown-freebsd.tar.gz) = 2fb56bb2a1420ea66e6f75f37d1c0d808c2943401d70650696d463ad90e78af9
-SIZE (rust/2019-07-04/cargo-0.37.0-aarch64-unknown-freebsd.tar.gz) = 6144087
-SHA256 (rust/2019-07-04/rustc-1.36.0-x86_64-unknown-freebsd.tar.gz) = c2dd0cec49b054ed9439762fb31555b8df9a3d81747b194f7d3afbc6d8adb8de
-SIZE (rust/2019-07-04/rustc-1.36.0-x86_64-unknown-freebsd.tar.gz) = 79088915
-SHA256 (rust/2019-07-04/rust-std-1.36.0-x86_64-unknown-freebsd.tar.gz) = a2a923cbfa3481af66c22673cac38e7cb70e26333318ad59c27b8b6ac16a84fe
-SIZE (rust/2019-07-04/rust-std-1.36.0-x86_64-unknown-freebsd.tar.gz) = 87112148
-SHA256 (rust/2019-07-04/cargo-0.37.0-x86_64-unknown-freebsd.tar.gz) = ae237412a5de0d01cc8aa065e00f604e72fadf85dd350d16b73a15d6ff7393f2
-SIZE (rust/2019-07-04/cargo-0.37.0-x86_64-unknown-freebsd.tar.gz) = 6651104
-SHA256 (rust/2019-07-04/rustc-1.36.0-armv6-unknown-freebsd.tar.gz) = 30af064165ada8defaa8bd1e63265944fb37c69172249723bd2747203ad7cbf0
-SIZE (rust/2019-07-04/rustc-1.36.0-armv6-unknown-freebsd.tar.gz) = 71286638
-SHA256 (rust/2019-07-04/rust-std-1.36.0-armv6-unknown-freebsd.tar.gz) = 6c35036131a110c858e7cb83657cd1b25ffae4cc65708f4e5a6e31325ef96edd
-SIZE (rust/2019-07-04/rust-std-1.36.0-armv6-unknown-freebsd.tar.gz) = 79061925
-SHA256 (rust/2019-07-04/cargo-0.37.0-armv6-unknown-freebsd.tar.gz) = e4fa3e76ab448eb8bfdf323b4de976a6f07c35d0eca91cc2bf480b41faa157ec
-SIZE (rust/2019-07-04/cargo-0.37.0-armv6-unknown-freebsd.tar.gz) = 5544892
+TIMESTAMP = 1569347123
+SHA256 (rust/rustc-1.38.0-src.tar.xz) = 3a7991aa4cb44ef941d71636e45a95468b520dc6fc7cf725364925bd3e3d3a34
+SIZE (rust/rustc-1.38.0-src.tar.xz) = 96163304
+SHA256 (rust/2019-08-15/rustc-1.37.0-aarch64-unknown-freebsd.tar.gz) = ebdd6e51cc8d3b73de59bcf609b6b0fd9f255d6c0b4c982c5d9609775b0269ff
+SIZE (rust/2019-08-15/rustc-1.37.0-aarch64-unknown-freebsd.tar.gz) = 56866730
+SHA256 (rust/2019-08-15/rust-std-1.37.0-aarch64-unknown-freebsd.tar.gz) = 2c6181d3dca8c70623625f9c0784e992128c00b1abbfad29f70791856d308eed
+SIZE (rust/2019-08-15/rust-std-1.37.0-aarch64-unknown-freebsd.tar.gz) = 68907067
+SHA256 (rust/2019-08-15/cargo-0.38.0-aarch64-unknown-freebsd.tar.gz) = 387b571a741d5e6162876ecae136366646b22d870511a47140301a1b0604a7b5
+SIZE (rust/2019-08-15/cargo-0.38.0-aarch64-unknown-freebsd.tar.gz) = 5422359
+SHA256 (rust/2019-08-15/rustc-1.37.0-x86_64-unknown-freebsd.tar.gz) = a4dd357a0b39abf1ebbe8a0f64973c3b0c5bc527e374c12afe51266279fc1ca6
+SIZE (rust/2019-08-15/rustc-1.37.0-x86_64-unknown-freebsd.tar.gz) = 70318740
+SHA256 (rust/2019-08-15/rust-std-1.37.0-x86_64-unknown-freebsd.tar.gz) = 8783a667ea9c46f27027d494098c51563faa734c5ddb23c6b9b3eda804eb9742
+SIZE (rust/2019-08-15/rust-std-1.37.0-x86_64-unknown-freebsd.tar.gz) = 87956779
+SHA256 (rust/2019-08-15/cargo-0.38.0-x86_64-unknown-freebsd.tar.gz) = ec5051df58aeff6720f386067c05de21bbc0f6532d74d2646f7b7bc36d341629
+SIZE (rust/2019-08-15/cargo-0.38.0-x86_64-unknown-freebsd.tar.gz) = 6712004
+SHA256 (rust/2019-08-15/rustc-1.37.0-armv6-unknown-freebsd.tar.gz) = d0b6c3422892764ebff9b3224265c47f62241d82b5974d715c0aabf845bbf586
+SIZE (rust/2019-08-15/rustc-1.37.0-armv6-unknown-freebsd.tar.gz) = 59085607
+SHA256 (rust/2019-08-15/rust-std-1.37.0-armv6-unknown-freebsd.tar.gz) = ce2b3f002457d7086870a2743e121aedc4dfb800fd9a65e6190d50f1b2e061a7
+SIZE (rust/2019-08-15/rust-std-1.37.0-armv6-unknown-freebsd.tar.gz) = 70261468
+SHA256 (rust/2019-08-15/cargo-0.38.0-armv6-unknown-freebsd.tar.gz) = 643497ec41d40168c99f327ee31cbcc0b73ea9bbb6bab523bfef2b915d13d186
+SIZE (rust/2019-08-15/cargo-0.38.0-armv6-unknown-freebsd.tar.gz) = 5716966
SHA256 (rust/compiler-rt-8.0.1.src.tar.xz) = 11828fb4823387d820c6715b25f6b2405e60837d12a7469e7a8882911c721837
SIZE (rust/compiler-rt-8.0.1.src.tar.xz) = 1954204
-SHA256 (rust/2019-07-04/rustc-1.36.0-armv7-unknown-freebsd.tar.gz) = c652bfb82d0e640e24a91aef39e9eeeedc0bd0b5b828546f9ef47bbae6a279bd
-SIZE (rust/2019-07-04/rustc-1.36.0-armv7-unknown-freebsd.tar.gz) = 70165782
-SHA256 (rust/2019-07-04/rust-std-1.36.0-armv7-unknown-freebsd.tar.gz) = 8750ff6013261b68f692413c7db97fabac6a83583b4c16c2175ebb6a81c1d0c6
-SIZE (rust/2019-07-04/rust-std-1.36.0-armv7-unknown-freebsd.tar.gz) = 78322763
-SHA256 (rust/2019-07-04/cargo-0.37.0-armv7-unknown-freebsd.tar.gz) = f092d15bbfe91423efffa2d20c77e5ca9655aac4c41bd1943cf632aff1a92bf1
-SIZE (rust/2019-07-04/cargo-0.37.0-armv7-unknown-freebsd.tar.gz) = 5463628
-SHA256 (rust/2019-07-04/rustc-1.36.0-i686-unknown-freebsd.tar.gz) = 4ac319c56b360a1c9418cc1862ed86366c79155dbcfdd0a9852b98e0bc4dcd0e
-SIZE (rust/2019-07-04/rustc-1.36.0-i686-unknown-freebsd.tar.gz) = 80314139
-SHA256 (rust/2019-07-04/rust-std-1.36.0-i686-unknown-freebsd.tar.gz) = 3387dff03da9babc28861892f41b08ff58bc51bea2d0e84ac0a045e84999eebf
-SIZE (rust/2019-07-04/rust-std-1.36.0-i686-unknown-freebsd.tar.gz) = 87744414
-SHA256 (rust/2019-07-04/cargo-0.37.0-i686-unknown-freebsd.tar.gz) = 3c4cef06939123951649c9ffcef7ba104cc3bc63c2b3243a7a7228749c58f37c
-SIZE (rust/2019-07-04/cargo-0.37.0-i686-unknown-freebsd.tar.gz) = 6553782
-SHA256 (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 98b0f27977a5412852044bc7ef2e95dfb5eced140c73a0ed0faf5841cecbaf83
-SIZE (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 78638311
-SHA256 (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 197bb8ce6944eddc7c18d20f7c2721e35abb3458678ef60d287941ca01e244ed
-SIZE (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 81520259
-SHA256 (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 17d9345621caa47015843b811019e16b32020c053fb72c3f3a6909e42d548f6c
-SIZE (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 7388067
-SHA256 (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 7581410a224e3649fc75cbb302c46fa0d59d571f3c6b9556682ab1411872db83
-SIZE (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 72163495
-SHA256 (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = edd4584a9583fb699dbf23797151d1d78bdf1e1d1389d715acbdefc5fcf5dc7c
-SIZE (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 79921640
-SHA256 (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 408fb3a5b2127ca369d5e5fe5768d475820916aa4e84150bdb939d0d155d5e32
-SIZE (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 5701853
+SHA256 (rust/2019-08-15/rustc-1.37.0-armv7-unknown-freebsd.tar.gz) = b957e13bdb899f42c1c4b3cd91d18f7d4f6ab08b2492f9acf85e447f53640121
+SIZE (rust/2019-08-15/rustc-1.37.0-armv7-unknown-freebsd.tar.gz) = 58107583
+SHA256 (rust/2019-08-15/rust-std-1.37.0-armv7-unknown-freebsd.tar.gz) = c380d455923065b5067a43ec796c043dfb4241392e068a187d6d93909f1cbafb
+SIZE (rust/2019-08-15/rust-std-1.37.0-armv7-unknown-freebsd.tar.gz) = 69710688
+SHA256 (rust/2019-08-15/cargo-0.38.0-armv7-unknown-freebsd.tar.gz) = 80641006fcb23de4780ac8576b9f0b235be1cb95e3d632a0976bfdd6117ee502
+SIZE (rust/2019-08-15/cargo-0.38.0-armv7-unknown-freebsd.tar.gz) = 4742625
+SHA256 (rust/compiler-rt-8.0.1.src.tar.xz) = 11828fb4823387d820c6715b25f6b2405e60837d12a7469e7a8882911c721837
+SIZE (rust/compiler-rt-8.0.1.src.tar.xz) = 1954204
+SHA256 (rust/2019-08-15/rustc-1.37.0-i686-unknown-freebsd.tar.gz) = 0d3a5bc51f138bfe3f7ccd4b9ccaa5aeec0d881118b7264f5e59ae8e1ce9f78a
+SIZE (rust/2019-08-15/rustc-1.37.0-i686-unknown-freebsd.tar.gz) = 70857405
+SHA256 (rust/2019-08-15/rust-std-1.37.0-i686-unknown-freebsd.tar.gz) = 21fbe36d9580f68fcd65d4248ffb05a40f787a38d87792545c7946b273e91beb
+SIZE (rust/2019-08-15/rust-std-1.37.0-i686-unknown-freebsd.tar.gz) = 88558002
+SHA256 (rust/2019-08-15/cargo-0.38.0-i686-unknown-freebsd.tar.gz) = e54e8e072ae5fba11ce36935cb813793ad6871b1fe1b3dfdb02a0a18e920ddda
+SIZE (rust/2019-08-15/cargo-0.38.0-i686-unknown-freebsd.tar.gz) = 6593950
+SHA256 (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 37983bf447f08cb57d6f7ebb56221de8e7ca1e85854cfdd277dd6e6da0099ee9
+SIZE (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 66814620
+SHA256 (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 392b5361e5d6fac72a5ed4ed0ae9ca6f3debe3af60884534364b8e97c41357b2
+SIZE (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 72765984
+SHA256 (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 36098b913bdf067f11d793829ab80088f6d148f36612027da399c7e90d1d0adb
+SIZE (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 6717589
+SHA256 (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = f0e1eca1713b14e4dad034a96c2bdfe0493afe390b5dd33bf16139691412e91b
+SIZE (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 59832229
+SHA256 (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 2c6802162b807ad2e332a4872943f9a694aa925f553ef2e61fac9def9ad73d8e
+SIZE (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 71174548
+SHA256 (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = db19655601cecbf18b9bca3d2db2545301b9d31fa353c78582eb378af6dc3966
+SIZE (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 4983791
Index: lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_arm.rs
===================================================================
--- lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_arm.rs
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/arm.rs.orig 2019-04-25 17:33:21 UTC
-+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/arm.rs
-@@ -0,0 +1,27 @@
-+//! Run-time feature detection for ARM on FreeBSD
-+
-+use crate::detect::{Feature, cache};
-+use super::{auxvec};
-+
-+/// Performs run-time feature detection.
-+#[inline]
-+pub fn check_for(x: Feature) -> bool {
-+ cache::test(x as u32, detect_features)
-+}
-+
-+/// Try to read the features from the auxiliary vector
-+fn detect_features() -> cache::Initializer {
-+ let mut value = cache::Initializer::default();
-+ let enable_feature = |value: &mut cache::Initializer, f, enable| {
-+ if enable {
-+ value.set(f as u32);
-+ }
-+ };
-+
-+ if let Ok(auxv) = auxvec::auxv() {
-+ enable_feature(&mut value, Feature::neon, auxv.hwcap & 0x00001000 != 0);
-+ enable_feature(&mut value, Feature::pmull, auxv.hwcap2 & 0x00000002 != 0);
-+ return value;
-+ }
-+ value
-+}
Index: lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_auxvec.rs
===================================================================
--- lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_auxvec.rs
+++ /dev/null
@@ -1,89 +0,0 @@
---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/auxvec.rs.orig 2019-04-25 17:33:21 UTC
-+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/auxvec.rs
-@@ -0,0 +1,86 @@
-+//! Parses ELF auxiliary vectors.
-+#![cfg_attr(any(target_arch = "arm", target_arch = "powerpc64"), allow(dead_code))]
-+
-+/// Key to access the CPU Hardware capabilities bitfield.
-+pub(crate) const AT_HWCAP: usize = 25;
-+/// Key to access the CPU Hardware capabilities 2 bitfield.
-+pub(crate) const AT_HWCAP2: usize = 26;
-+
-+/// Cache HWCAP bitfields of the ELF Auxiliary Vector.
-+///
-+/// If an entry cannot be read all the bits in the bitfield are set to zero.
-+/// This should be interpreted as all the features being disabled.
-+#[derive(Debug, Copy, Clone)]
-+pub(crate) struct AuxVec {
-+ pub hwcap: usize,
-+ pub hwcap2: usize,
-+}
-+
-+/// ELF Auxiliary Vector
-+///
-+/// The auxiliary vector is a memory region in a running ELF program's stack
-+/// composed of (key: usize, value: usize) pairs.
-+///
-+/// The keys used in the aux vector are platform dependent. For FreeBSD, they are
-+/// defined in [sys/elf_common.h][elf_common_h]. The hardware capabilities of a given
-+/// CPU can be queried with the `AT_HWCAP` and `AT_HWCAP2` keys.
-+///
-+/// Note that run-time feature detection is not invoked for features that can
-+/// be detected at compile-time.
-+///
-+/// [elf_common.h]: https://svnweb.freebsd.org/base/release/12.0.0/sys/sys/elf_common.h?revision=341707
-+pub(crate) fn auxv() -> Result<AuxVec, ()> {
-+ if let Ok(hwcap) = archauxv(AT_HWCAP) {
-+ if let Ok(hwcap2) = archauxv(AT_HWCAP2) {
-+ if hwcap != 0 && hwcap2 != 0 {
-+ return Ok(AuxVec { hwcap, hwcap2 });
-+ }
-+ }
-+ }
-+ Err(())
-+}
-+
-+/// Tries to read the `key` from the auxiliary vector.
-+fn archauxv(key: usize) -> Result<usize, ()> {
-+ use crate::mem;
-+
-+ #[derive (Copy, Clone)]
-+ #[repr(C)]
-+ pub struct Elf_Auxinfo {
-+ pub a_type: usize,
-+ pub a_un: unnamed,
-+ }
-+ #[derive (Copy, Clone)]
-+ #[repr(C)]
-+ pub union unnamed {
-+ pub a_val: libc::c_long,
-+ pub a_ptr: *mut libc::c_void,
-+ pub a_fcn: Option<unsafe extern "C" fn() -> ()>,
-+ }
-+
-+ let mut auxv: [Elf_Auxinfo; 27] =
-+ [Elf_Auxinfo{a_type: 0, a_un: unnamed{a_val: 0,},}; 27];
-+
-+ let mut len: libc::c_uint = mem::size_of_val(&auxv) as libc::c_uint;
-+
-+ unsafe {
-+ let mut mib = [libc::CTL_KERN, libc::KERN_PROC, libc::KERN_PROC_AUXV, libc::getpid()];
-+
-+ let ret = libc::sysctl(mib.as_mut_ptr(),
-+ mib.len() as u32,
-+ &mut auxv as *mut _ as *mut _,
-+ &mut len as *mut _ as *mut _,
-+ 0 as *mut libc::c_void,
-+ 0,
-+ );
-+
-+ if ret != -1 {
-+ for i in 0..auxv.len() {
-+ if auxv[i].a_type == key {
-+ return Ok(auxv[i].a_un.a_val as usize);
-+ }
-+ }
-+ }
-+ }
-+ return Ok(0);
-+}
Index: lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_mod.rs
===================================================================
--- lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_mod.rs
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/mod.rs.orig 2019-05-20 12:10:32 UTC
-+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/mod.rs
-@@ -1,9 +1,17 @@
- //! Run-time feature detection on FreeBSD
-
-+mod auxvec;
-+
- cfg_if! {
- if #[cfg(target_arch = "aarch64")] {
- mod aarch64;
- pub use self::aarch64::check_for;
-+ } else if #[cfg(target_arch = "arm")] {
-+ mod arm;
-+ pub use self::arm::check_for;
-+ } else if #[cfg(target_arch = "powerpc64")] {
-+ mod powerpc;
-+ pub use self::powerpc::check_for;
- } else {
- use crate::arch::detect::Feature;
- /// Performs run-time feature detection.
Index: lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_powerpc.rs
===================================================================
--- lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_powerpc.rs
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/powerpc.rs.orig 2019-04-25 17:33:21 UTC
-+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/powerpc.rs
-@@ -0,0 +1,27 @@
-+//! Run-time feature detection for PowerPC on FreeBSD.
-+
-+use crate::detect::{Feature, cache};
-+use super::{auxvec};
-+
-+/// Performs run-time feature detection.
-+#[inline]
-+pub fn check_for(x: Feature) -> bool {
-+ cache::test(x as u32, detect_features)
-+}
-+
-+fn detect_features() -> cache::Initializer {
-+ let mut value = cache::Initializer::default();
-+ let enable_feature = |value: &mut cache::Initializer, f, enable| {
-+ if enable {
-+ value.set(f as u32);
-+ }
-+ };
-+
-+ if let Ok(auxv) = auxvec::auxv() {
-+ enable_feature(&mut value, Feature::altivec, auxv.hwcap & 0x10000000 != 0);
-+ enable_feature(&mut value, Feature::vsx, auxv.hwcap & 0x00000080 != 0);
-+ enable_feature(&mut value, Feature::power8, auxv.hwcap2 & 0x80000000 != 0);
-+ return value;
-+ }
-+ value
-+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jul 2, 1:59 AM (3 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34583681
Default Alt Text
D21778.id62519.diff (18 KB)
Attached To
Mode
D21778: lang/rust: Update to 1.38.0
Attached
Detach File
Event Timeline
Log In to Comment