aboutsummaryrefslogtreecommitdiffstats
path: root/lang/rust
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2018-04-17 05:35:26 +0800
committerbdrewery <bdrewery@FreeBSD.org>2018-04-17 05:35:26 +0800
commit04846e591df0edec2cfe026e3b3327841b7cc3ad (patch)
tree07067deec781f0f55c9c6c213ae9a7680b942bbf /lang/rust
parentc364c6e352d5f744435f65166760851eee8abe59 (diff)
downloadfreebsd-ports-gnome-04846e591df0edec2cfe026e3b3327841b7cc3ad.tar.gz
freebsd-ports-gnome-04846e591df0edec2cfe026e3b3327841b7cc3ad.tar.zst
freebsd-ports-gnome-04846e591df0edec2cfe026e3b3327841b7cc3ad.zip
Update to 1.25.0.
- The ABI patch is no longer needed on head due to fixes being upstreamed to use the pre-ino64 symbols. The ABI patch is still needed for the bootstrap but should be removable for 1.26.0 if it uses beta 2018-03-18. PR: 227130 [based on] Tested by: dumbbell, Charlie Li Submitted by: riggs [based on] Differential Revision: https://reviews.freebsd.org/D14921 [based on]
Diffstat (limited to 'lang/rust')
-rw-r--r--lang/rust/Makefile9
-rw-r--r--lang/rust/distinfo42
-rw-r--r--lang/rust/files/extra-patch-abi423
-rw-r--r--lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs7
4 files changed, 28 insertions, 453 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 591d238426ce..a12fa4fac7f0 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= rust
-PORTVERSION?= 1.24.1
+PORTVERSION?= 1.25.0
PORTREVISION?=
CATEGORIES= lang
MASTER_SITES= http://static.rust-lang.org/dist/:src \
@@ -44,13 +44,13 @@ ONLY_FOR_ARCHS_REASON= requires prebuilt bootstrap compiler
CONFLICTS_INSTALL?= rust-nightly
# See WRKSRC/src/stage0.txt for this date and version values.
-BOOTSTRAPS_DATE?= 2018-01-04
+BOOTSTRAPS_DATE?= 2018-02-15
-RUST_BOOTSTRAP_VERSION?= 1.23.0
+RUST_BOOTSTRAP_VERSION?= 1.24.0
RUSTC_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}.tar.gz
RUST_STD_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}.tar.gz
-CARGO_BOOTSTRAP_VERSION?= 0.24.0
+CARGO_BOOTSTRAP_VERSION?= 0.25.0
CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}.tar.gz
RUST_CHANNEL= ${PKGNAMESUFFIX:Ustable:S/^-//}
@@ -96,7 +96,6 @@ PLIST_FILES= lib/rustlib/components \
# https://github.com/rust-lang/rust/issues/42681
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 && !defined(NIGHTLY_DATE)
NEED_ABI_PATCH= 1
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-abi
.else
NEED_ABI_PATCH= 0
.endif
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index 112981af05a9..896ad8c44191 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,21 +1,21 @@
-TIMESTAMP = 1520331200
-SHA256 (rust/rustc-1.24.1-src.tar.xz) = 85d5d032a59ff91ae01e2b0b65607e763de8dc2729e4b3d28a69023bdd8f5718
-SIZE (rust/rustc-1.24.1-src.tar.xz) = 42171464
-SHA256 (rust/2018-01-04/rustc-1.23.0-aarch64-unknown-freebsd.tar.gz) = 44ae0e7615c19209fb74dc18dd15668af228bb2135bd74a3d4bd8917af6ec889
-SIZE (rust/2018-01-04/rustc-1.23.0-aarch64-unknown-freebsd.tar.gz) = 56833352
-SHA256 (rust/2018-01-04/rust-std-1.23.0-aarch64-unknown-freebsd.tar.gz) = 248cd23557285c7e43ca5ba69d8c71c810ed95affbd723d21d5ce87058bf66f1
-SIZE (rust/2018-01-04/rust-std-1.23.0-aarch64-unknown-freebsd.tar.gz) = 71207727
-SHA256 (rust/2018-01-04/cargo-0.24.0-aarch64-unknown-freebsd.tar.gz) = b028d83da266259adf81ae00b8263a08bfb0ae1bcdbb79abca2fd565fe550669
-SIZE (rust/2018-01-04/cargo-0.24.0-aarch64-unknown-freebsd.tar.gz) = 3895466
-SHA256 (rust/2018-01-04/rustc-1.23.0-i686-unknown-freebsd.tar.gz) = 47211ab3d9232d08a626f666da1d83f8d713de6010b7c9e1b28565c5c0edf544
-SIZE (rust/2018-01-04/rustc-1.23.0-i686-unknown-freebsd.tar.gz) = 49240849
-SHA256 (rust/2018-01-04/rust-std-1.23.0-i686-unknown-freebsd.tar.gz) = 5c220445e20467b71a76bdffeff87d57e17e99860ee8c0e745509147ea283393
-SIZE (rust/2018-01-04/rust-std-1.23.0-i686-unknown-freebsd.tar.gz) = 67245886
-SHA256 (rust/2018-01-04/cargo-0.24.0-i686-unknown-freebsd.tar.gz) = c15a71df418533e1c1bb4a879b10c819e0f0b5bc831c148ffafe69a60dbd8ccc
-SIZE (rust/2018-01-04/cargo-0.24.0-i686-unknown-freebsd.tar.gz) = 5854910
-SHA256 (rust/2018-01-04/rustc-1.23.0-x86_64-unknown-freebsd.tar.gz) = 49576fd518c3bf7b3b665e666d16a8c4875577514cc1864e498d3b0a50cff500
-SIZE (rust/2018-01-04/rustc-1.23.0-x86_64-unknown-freebsd.tar.gz) = 48148869
-SHA256 (rust/2018-01-04/rust-std-1.23.0-x86_64-unknown-freebsd.tar.gz) = 6a7b58f6beb9b5dfad44ee286be552cc96117be3fdce0f2a0ed2904b0ce23186
-SIZE (rust/2018-01-04/rust-std-1.23.0-x86_64-unknown-freebsd.tar.gz) = 66669825
-SHA256 (rust/2018-01-04/cargo-0.24.0-x86_64-unknown-freebsd.tar.gz) = 89878efa237bc0121f3702cd286796c4ce8b0829e671408fe0ea99bf28ce2d4c
-SIZE (rust/2018-01-04/cargo-0.24.0-x86_64-unknown-freebsd.tar.gz) = 5912767
+SHA256 (rust/2018-02-15/cargo-0.25.0-aarch64-unknown-freebsd.tar.gz) = b722073829728fb6519b0653f42086d75a3dcfabdc0e760ed950bf2442d3c9b8
+SIZE (rust/2018-02-15/cargo-0.25.0-aarch64-unknown-freebsd.tar.gz) = 4080471
+SHA256 (rust/2018-02-15/cargo-0.25.0-i686-unknown-freebsd.tar.gz) = c0ebc42bc19933220d56238920dcade0750eb64462d55830403e0e7167f09316
+SIZE (rust/2018-02-15/cargo-0.25.0-i686-unknown-freebsd.tar.gz) = 5455389
+SHA256 (rust/2018-02-15/cargo-0.25.0-x86_64-unknown-freebsd.tar.gz) = 9b914574fbdbd4190718ce681041af3ac161aab2bcd5b3b6d52ccb954660c5d3
+SIZE (rust/2018-02-15/cargo-0.25.0-x86_64-unknown-freebsd.tar.gz) = 5604586
+SHA256 (rust/2018-02-15/rust-std-1.24.0-aarch64-unknown-freebsd.tar.gz) = 9e9b4d9ce972e972986b0ebb4f417041400e2be76dcddf645f6d6c8d1b3987bf
+SIZE (rust/2018-02-15/rust-std-1.24.0-aarch64-unknown-freebsd.tar.gz) = 78129215
+SHA256 (rust/2018-02-15/rust-std-1.24.0-i686-unknown-freebsd.tar.gz) = 41d21402bd5b29c292c4db4a06b07396271e10824006794138e6f9b581f9f319
+SIZE (rust/2018-02-15/rust-std-1.24.0-i686-unknown-freebsd.tar.gz) = 81013253
+SHA256 (rust/2018-02-15/rust-std-1.24.0-x86_64-unknown-freebsd.tar.gz) = 99d0ca487e292f76e425074ae77f4e12fe1f67d3f90e0b0a8c4b8ed4e87bc163
+SIZE (rust/2018-02-15/rust-std-1.24.0-x86_64-unknown-freebsd.tar.gz) = 80387975
+SHA256 (rust/2018-02-15/rustc-1.24.0-aarch64-unknown-freebsd.tar.gz) = 14efaeb960da1b4524ae9a25657415ca92f6e54d12bb55e95ad4e38b625ef9ab
+SIZE (rust/2018-02-15/rustc-1.24.0-aarch64-unknown-freebsd.tar.gz) = 60099868
+SHA256 (rust/2018-02-15/rustc-1.24.0-i686-unknown-freebsd.tar.gz) = f775a54ee18263a12fe9039d98af19c36a7b4e513f54cbd247a32e6b008d40cd
+SIZE (rust/2018-02-15/rustc-1.24.0-i686-unknown-freebsd.tar.gz) = 63788470
+SHA256 (rust/2018-02-15/rustc-1.24.0-x86_64-unknown-freebsd.tar.gz) = 2a0110adc137bf241962eb4000bdba8cbf3713e09087edaba499bb917dce9b8e
+SIZE (rust/2018-02-15/rustc-1.24.0-x86_64-unknown-freebsd.tar.gz) = 62428675
+SHA256 (rust/rustc-1.25.0-src.tar.xz) = 14fcb82d5959df758aaf422539359300917217fa8420e34bd596e3fb6ed2de87
+SIZE (rust/rustc-1.25.0-src.tar.xz) = 56108536
+TIMESTAMP = 1523914189
diff --git a/lang/rust/files/extra-patch-abi b/lang/rust/files/extra-patch-abi
deleted file mode 100644
index e4fdca6a93d4..000000000000
--- a/lang/rust/files/extra-patch-abi
+++ /dev/null
@@ -1,423 +0,0 @@
-------------------------------------------------------------------------
-r441843 | kib | 2017-05-27 05:06:40 -0700 (Sat, 27 May 2017) | 6 lines
-
-Fix lang/rust after ino64 src commit.
-
-Approved by: bapt, dumbbell
-Sponsored by: The FreeBSD Foundation
-Differential revision: https://reviews.freebsd.org/D10799
-
-------------------------------------------------------------------------
-
-commit 969ad2b73cdc928b88f6db8f31916bbe294764c0
-Author: Bryan Drewery <bryan@shatow.net>
-Date: Thu Mar 1 12:35:01 2018 -0800
-
- Link against kevent@FBSD_1.0 to fix ABI compat with FreeBSD12.
-
- struct kevent was modified in FreeBSD12. The @FBSD_1.0 symbol supports the old
- structure ABI still.
-
- This allows the `mio` crate tests to now pass on FreeBSD12.
-
---- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs 2017-05-30 07:55:40.703709000 +0000
-@@ -7,10 +7,12 @@
- 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_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_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: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/mod.rs 2017-05-25 16:28:37.280076000 +0000
-@@ -1,8 +1,8 @@
- pub type fflags_t = u32;
- pub type clock_t = i32;
--pub type ino_t = u32;
-+pub type ino_t = u64;
- pub type lwpid_t = i32;
--pub type nlink_t = u16;
-+pub type nlink_t = u64;
- pub type blksize_t = u32;
- pub type clockid_t = ::c_int;
- pub type sem_t = _sem;
-@@ -40,10 +40,13 @@
- }
-
- pub struct dirent {
-- pub d_fileno: u32,
-+ pub d_fileno: u64,
-+ pub d_off: u64,
- pub d_reclen: u16,
- pub d_type: u8,
-- pub d_namlen: u8,
-+ pub d_pad0: u8,
-+ pub d_namlen: u16,
-+ pub d_pad1: u16,
- pub d_name: [::c_char; 256],
- }
-
---- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86.rs 2017-05-25 16:25:42.303616000 +0000
-@@ -7,25 +7,30 @@
- 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_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
-+ pub st_atime_ext: ::int32_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-+ pub st_mtime_ext: ::int32_t,
- pub st_mtime: ::time_t,
- pub st_mtime_nsec: ::c_long,
-+ pub st_ctime_ext: ::int32_t,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime_ext: ::int32_t,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_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: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-- __unused: [u8; 8],
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs 2017-05-25 16:25:42.303910000 +0000
-@@ -7,10 +7,12 @@
- 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_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_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: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/liblibc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/mod.rs 2017-05-25 16:25:42.304391000 +0000
-@@ -1,4 +1,4 @@
--pub type dev_t = u32;
-+pub type dev_t = u64;
- pub type mode_t = u16;
- pub type pthread_attr_t = *mut ::c_void;
- pub type rlim_t = i64;
-@@ -1052,6 +1052,7 @@ extern {
- serv: *mut ::c_char,
- servlen: ::size_t,
- flags: ::c_int) -> ::c_int;
-+ #[cfg_attr(target_os = "freebsd", link_name = "kevent@FBSD_1.0")]
- pub fn kevent(kq: ::c_int,
- changelist: *const ::kevent,
- nchanges: ::c_int,
---- ./src/libstd/os/freebsd/raw.rs.orig 2017-04-24 18:53:46.000000000 +0000
-+++ ./src/libstd/os/freebsd/raw.rs 2017-05-25 16:25:42.304715000 +0000
-@@ -38,32 +38,52 @@
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub struct stat {
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_dev: u32,
-+ pub st_dev: u64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_ino: u32,
-+ pub st_ino: u64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_nlink: u64,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_mode: u16,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_nlink: u16,
-+ pub st_pad0: u16,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_uid: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_gid: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_rdev: u32,
-+ pub st_pad1: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_rdev: u64,
-+ #[cfg(target_arch = "x86")]
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_atime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_atime: c_long,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_atime_nsec: c_long,
-+ #[cfg(target_arch = "x86")]
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_mtime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_mtime: c_long,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_mtime_nsec: c_long,
-+ #[cfg(target_arch = "x86")]
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_ctime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_ctime: c_long,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_ctime_nsec: c_long,
-+ #[cfg(target_arch = "x86")]
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_birthtime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_birthtime: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_birthtime_nsec: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_size: i64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_blocks: i64,
-@@ -72,14 +92,7 @@
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_flags: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_gen: u32,
-+ pub st_gen: u64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_lspare: i32,
-- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_birthtime: c_long,
-- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_birthtime_nsec: c_long,
-- #[cfg(target_arch = "x86")]
-- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub __unused: [u8; 8],
-+ pub st_spare: [u64; 10],
- }
---- ./src/libstd/os/freebsd/fs.rs.orig 2017-04-24 18:53:46.000000000 +0000
-+++ ./src/libstd/os/freebsd/fs.rs 2017-05-25 16:25:42.304989000 +0000
-@@ -74,8 +74,6 @@
- fn st_flags(&self) -> u32;
- #[stable(feature = "metadata_ext2", since = "1.8.0")]
- fn st_gen(&self) -> u32;
-- #[stable(feature = "metadata_ext2", since = "1.8.0")]
-- fn st_lspare(&self) -> u32;
- }
-
- #[stable(feature = "metadata_ext", since = "1.1.0")]
-@@ -146,9 +144,6 @@
- }
- fn st_flags(&self) -> u32 {
- self.as_inner().as_inner().st_flags as u32
-- }
-- fn st_lspare(&self) -> u32 {
-- self.as_inner().as_inner().st_lspare as u32
- }
- }
-
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs 2017-05-30 07:57:19.874957000 +0000
-@@ -7,10 +7,12 @@
- 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_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_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: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs 2017-05-25 16:25:42.305261000 +0000
-@@ -7,10 +7,12 @@
- 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_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_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: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs 2017-05-25 16:28:29.708287000 +0000
-@@ -1,8 +1,8 @@
- pub type fflags_t = u32;
- pub type clock_t = i32;
--pub type ino_t = u32;
-+pub type ino_t = u64;
- pub type lwpid_t = i32;
--pub type nlink_t = u16;
-+pub type nlink_t = u64;
- pub type blksize_t = u32;
- pub type clockid_t = ::c_int;
- pub type sem_t = _sem;
-@@ -40,10 +40,13 @@
- }
-
- pub struct dirent {
-- pub d_fileno: u32,
-+ pub d_fileno: u64,
-+ pub d_off: u64,
- pub d_reclen: u16,
- pub d_type: u8,
-- pub d_namlen: u8,
-+ pub d_pad0: u8,
-+ pub d_namlen: u16,
-+ pub d_pad1: u16,
- pub d_name: [::c_char; 256],
- }
-
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs 2017-05-25 16:25:42.305967000 +0000
-@@ -7,25 +7,30 @@
- 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_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
-+ pub st_atime_ext: ::int32_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-+ pub st_mtime_ext: i32,
- pub st_mtime: ::time_t,
- pub st_mtime_nsec: ::c_long,
-+ pub st_ctime_ext: ::int32_t,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime_ext: ::int32_t,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_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: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-- __unused: [u8; 8],
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/mod.rs 2017-05-25 16:25:42.306480000 +0000
-@@ -1,4 +1,4 @@
--pub type dev_t = u32;
-+pub type dev_t = u64;
- pub type mode_t = u16;
- pub type pthread_attr_t = *mut ::c_void;
- pub type rlim_t = i64;
-@@ -1052,6 +1052,7 @@ extern {
- serv: *mut ::c_char,
- servlen: ::size_t,
- flags: ::c_int) -> ::c_int;
-+ #[cfg_attr(target_os = "freebsd", link_name = "kevent@FBSD_1.0")]
- pub fn kevent(kq: ::c_int,
- changelist: *const ::kevent,
- nchanges: ::c_int,
diff --git a/lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs b/lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs
index 2f2b3ccc423b..d2ff91540fd6 100644
--- a/lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs
+++ b/lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs
@@ -1,13 +1,12 @@
Return struct like OpenBSD, see src/librustc_trans/cabi_x86.rs
---- src/librustc_back/target/freebsd_base.rs.orig 2017-11-22 21:33:00 UTC
+--- src/librustc_back/target/freebsd_base.rs.orig 2018-03-25 14:26:14 UTC
+++ src/librustc_back/target/freebsd_base.rs
-@@ -31,6 +31,8 @@ pub fn opts() -> TargetOptions {
+@@ -31,6 +31,7 @@ pub fn opts() -> TargetOptions {
target_family: Some("unix".to_string()),
linker_is_gnu: true,
has_rpath: true,
+ is_like_openbsd: true,
-+ eliminate_frame_pointer: false,
pre_link_args: args,
position_independent_executables: true,
- relro_level: RelroLevel::Full,
+ eliminate_frame_pointer: false, // FIXME 43575