MFH: r467538

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]

Approved by:	portmgr (implicit)
This commit is contained in:
Bryan Drewery 2018-04-16 21:37:21 +00:00
parent 3e4e90ceb8
commit 4eb4c9a184
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q2/; revision=467539
4 changed files with 28 additions and 453 deletions

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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