diff options
author | bdrewery <bdrewery@FreeBSD.org> | 2018-04-17 05:35:26 +0800 |
---|---|---|
committer | bdrewery <bdrewery@FreeBSD.org> | 2018-04-17 05:35:26 +0800 |
commit | 04846e591df0edec2cfe026e3b3327841b7cc3ad (patch) | |
tree | 07067deec781f0f55c9c6c213ae9a7680b942bbf /lang/rust | |
parent | c364c6e352d5f744435f65166760851eee8abe59 (diff) | |
download | freebsd-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/Makefile | 9 | ||||
-rw-r--r-- | lang/rust/distinfo | 42 | ||||
-rw-r--r-- | lang/rust/files/extra-patch-abi | 423 | ||||
-rw-r--r-- | lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs | 7 |
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 |