From owner-svn-ports-all@freebsd.org Tue Mar 23 08:43:50 2021 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 127E457EAA9; Tue, 23 Mar 2021 08:43:50 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F4PzV00Wxz4Wps; Tue, 23 Mar 2021 08:43:50 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E698C1DFDA; Tue, 23 Mar 2021 08:43:49 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 12N8hnem054806; Tue, 23 Mar 2021 08:43:49 GMT (envelope-from tobik@FreeBSD.org) Received: (from tobik@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 12N8hn2Q054801; Tue, 23 Mar 2021 08:43:49 GMT (envelope-from tobik@FreeBSD.org) Message-Id: <202103230843.12N8hn2Q054801@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tobik set sender to tobik@FreeBSD.org using -f From: Tobias Kortkamp Date: Tue, 23 Mar 2021 08:43:49 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r569013 - in head/lang/rust-nightly: . files X-SVN-Group: ports-head X-SVN-Commit-Author: tobik X-SVN-Commit-Paths: in head/lang/rust-nightly: . files X-SVN-Commit-Revision: 569013 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2021 08:43:50 -0000 Author: tobik Date: Tue Mar 23 08:43:48 2021 New Revision: 569013 URL: https://svnweb.freebsd.org/changeset/ports/569013 Log: lang/rust-nightly: Update to 1.53.0.20210323 - Sync patches with lang/rust - Add the rust-nightly update script Changes: https://github.com/rust-lang/rust/compare/45b3c28518...5d04957a4b Added: head/lang/rust-nightly/files/patch-backtrace - copied, changed from r569007, head/lang/rust/files/patch-backtrace head/lang/rust-nightly/files/patch-src_bootstrap_install.rs - copied unchanged from r569007, head/lang/rust/files/patch-src_bootstrap_install.rs head/lang/rust-nightly/update.sh (contents, props changed) Modified: head/lang/rust-nightly/Makefile head/lang/rust-nightly/distinfo Modified: head/lang/rust-nightly/Makefile ============================================================================== --- head/lang/rust-nightly/Makefile Tue Mar 23 08:24:57 2021 (r569012) +++ head/lang/rust-nightly/Makefile Tue Mar 23 08:43:48 2021 (r569013) @@ -1,7 +1,8 @@ # Created by: Jean-Sébastien Pédron # $FreeBSD$ -PORTVERSION= 1.50.0.${NIGHTLY_DATE:C,-,,g} +# Run update.sh to update to the latest nightly +PORTVERSION= 1.53.0.${NIGHTLY_DATE:C,-,,g} # Always set PORTREVISION explicitly as otherwise it is inherited from lang/rust PORTREVISION= 0 PKGNAMESUFFIX= -nightly @@ -16,13 +17,8 @@ MASTERDIR= ${.CURDIR}/../rust PATCHDIR= ${.CURDIR}/files DISTINFO_FILE= ${.CURDIR}/distinfo -# Get latest from top level 'date' key in -# https://static.rust-lang.org/dist/channel-rust-nightly.toml -NIGHTLY_DATE= 2021-03-05 - -# See WRKSRC/src/stage0.txt for this date -BOOTSTRAPS_DATE= 2021-02-14 -RUST_BOOTSTRAP_VERSION= beta -CARGO_BOOTSTRAP_VERSION= beta +NIGHTLY_DATE= 2021-03-23 +BOOTSTRAPS_DATE= 2021-02-14 +RUST_BOOTSTRAP_VERSION= beta .include "${MASTERDIR}/Makefile" Modified: head/lang/rust-nightly/distinfo ============================================================================== --- head/lang/rust-nightly/distinfo Tue Mar 23 08:24:57 2021 (r569012) +++ head/lang/rust-nightly/distinfo Tue Mar 23 08:43:48 2021 (r569013) @@ -1,6 +1,6 @@ -TIMESTAMP = 1614940829 -SHA256 (rust/2021-03-05/rustc-nightly-src.tar.xz) = 53a31c16c0b119fddcace0aa7d57e107a8e21b40d4d04b976ddcb363f0273fce -SIZE (rust/2021-03-05/rustc-nightly-src.tar.xz) = 114645532 +TIMESTAMP = 1616475173 +SHA256 (rust/2021-03-23/rustc-nightly-src.tar.xz) = ad47a8bef68e6d130e0477e16c0cab89e4f2e447f16578fc7243bac095a5ea56 +SIZE (rust/2021-03-23/rustc-nightly-src.tar.xz) = 115047736 SHA256 (rust/2021-02-14/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 1eb1f1508887449de36aa0dc75e549b8185d7d0bd4f86d503adda09295397fb7 SIZE (rust/2021-02-14/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 79211584 SHA256 (rust/2021-02-14/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = f366210bf594eda2b3a6547aff7fb0f32cde99e1a0ec427d2a05a430cc9795b2 Copied and modified: head/lang/rust-nightly/files/patch-backtrace (from r569007, head/lang/rust/files/patch-backtrace) ============================================================================== --- head/lang/rust/files/patch-backtrace Tue Mar 23 06:39:47 2021 (r569007, copy source) +++ head/lang/rust-nightly/files/patch-backtrace Tue Mar 23 08:43:48 2021 (r569013) @@ -10,909 +10,3 @@ https://github.com/rust-lang/rust/issues/78184 ))] { // Other Unix (e.g. Linux) platforms use ELF as an object file format // and typically implement an API called `dl_iterate_phdr` to load ---- vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs -@@ -14,6 +14,38 @@ pub type nl_item = ::c_int; - pub type id_t = i64; - pub type vm_size_t = ::uintptr_t; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ -+// link.h -+ - #[cfg_attr(feature = "extra_traits", derive(Debug))] - pub enum timezone {} - impl ::Copy for timezone {} -@@ -233,6 +265,43 @@ s! { - pub piod_addr: *mut ::c_void, - pub piod_len: ::size_t, - } -+ -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1514,6 +1583,18 @@ extern "C" { - - pub fn ntp_adjtime(buf: *mut timex) -> ::c_int; - pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int; -+ -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "rt")] ---- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs -@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t; - pub type lwpid_t = ::c_uint; - pub type shmatt_t = ::c_uint; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - impl siginfo_t { - pub unsafe fn si_value(&self) -> ::sigval { - #[repr(C)] -@@ -341,6 +371,42 @@ s! { - pub time_state: ::c_int, - } - -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1988,6 +2054,19 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ -+ // link.h -+ -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "util")] ---- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs -@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void; - pub type pthread_rwlockattr_t = *mut ::c_void; - pub type caddr_t = *mut ::c_char; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - s! { - pub struct glob_t { - pub gl_pathc: ::size_t, -@@ -321,6 +351,38 @@ s! { - __shm_ctimensec: c_long, - pub shm_internal: *mut ::c_void, - } -+ -+ // elf.h -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ } - } - - impl siginfo_t { -@@ -1480,6 +1542,17 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - cfg_if! { ---- vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs -@@ -14,6 +14,38 @@ pub type nl_item = ::c_int; - pub type id_t = i64; - pub type vm_size_t = ::uintptr_t; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ -+// link.h -+ - #[cfg_attr(feature = "extra_traits", derive(Debug))] - pub enum timezone {} - impl ::Copy for timezone {} -@@ -233,6 +265,43 @@ s! { - pub piod_addr: *mut ::c_void, - pub piod_len: ::size_t, - } -+ -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1514,6 +1583,18 @@ extern "C" { - - pub fn ntp_adjtime(buf: *mut timex) -> ::c_int; - pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int; -+ -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "rt")] ---- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs -@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t; - pub type lwpid_t = ::c_uint; - pub type shmatt_t = ::c_uint; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - impl siginfo_t { - pub unsafe fn si_value(&self) -> ::sigval { - #[repr(C)] -@@ -341,6 +371,42 @@ s! { - pub time_state: ::c_int, - } - -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1990,6 +2056,19 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ -+ // link.h -+ -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "util")] ---- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs -@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void; - pub type pthread_rwlockattr_t = *mut ::c_void; - pub type caddr_t = *mut ::c_char; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - s! { - pub struct glob_t { - pub gl_pathc: ::size_t, -@@ -321,6 +351,38 @@ s! { - __shm_ctimensec: c_long, - pub shm_internal: *mut ::c_void, - } -+ -+ // elf.h -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ } - } - - impl siginfo_t { -@@ -1482,6 +1544,17 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - cfg_if! { ---- vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc/src/unix/bsd/freebsdlike/mod.rs -@@ -14,6 +14,38 @@ pub type nl_item = ::c_int; - pub type id_t = i64; - pub type vm_size_t = ::uintptr_t; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ -+// link.h -+ - #[cfg_attr(feature = "extra_traits", derive(Debug))] - pub enum timezone {} - impl ::Copy for timezone {} -@@ -233,6 +265,43 @@ s! { - pub piod_addr: *mut ::c_void, - pub piod_len: ::size_t, - } -+ -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1514,6 +1583,18 @@ extern "C" { - - pub fn ntp_adjtime(buf: *mut timex) -> ::c_int; - pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int; -+ -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "rt")] ---- vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs -@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t; - pub type lwpid_t = ::c_uint; - pub type shmatt_t = ::c_uint; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - impl siginfo_t { - pub unsafe fn si_value(&self) -> ::sigval { - #[repr(C)] -@@ -341,6 +371,42 @@ s! { - pub time_state: ::c_int, - } - -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -2002,6 +2068,19 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ -+ // link.h -+ -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "util")] ---- vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs -@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void; - pub type pthread_rwlockattr_t = *mut ::c_void; - pub type caddr_t = *mut ::c_char; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - s! { - pub struct glob_t { - pub gl_pathc: ::size_t, -@@ -321,6 +351,38 @@ s! { - __shm_ctimensec: c_long, - pub shm_internal: *mut ::c_void, - } -+ -+ // elf.h -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ } - } - - impl siginfo_t { -@@ -1482,6 +1544,17 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - cfg_if! { Copied: head/lang/rust-nightly/files/patch-src_bootstrap_install.rs (from r569007, head/lang/rust/files/patch-src_bootstrap_install.rs) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/rust-nightly/files/patch-src_bootstrap_install.rs Tue Mar 23 08:43:48 2021 (r569013, copy of r569007, head/lang/rust/files/patch-src_bootstrap_install.rs) @@ -0,0 +1,17 @@ +Only install docs for the host target + +It otherwise wastes significant time (there are a lot of individual +files) and stages host docs, wasm docs, which unstages the host +docs first. + +--- src/bootstrap/install.rs.orig 2021-03-22 17:05:25 UTC ++++ src/bootstrap/install.rs +@@ -133,7 +133,7 @@ macro_rules! install { + } + + install!((self, builder, _config), +- Docs, "src/doc", _config.docs, only_hosts: false, { ++ Docs, "src/doc", _config.docs, only_hosts: true, { + let tarball = builder.ensure(dist::Docs { host: self.target }).expect("missing docs"); + install_sh(builder, "docs", self.compiler.stage, Some(self.target), &tarball); + }; Added: head/lang/rust-nightly/update.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/rust-nightly/update.sh Tue Mar 23 08:43:48 2021 (r569013) @@ -0,0 +1,37 @@ +#!/bin/sh +# Requires: pkg install portfmt +# Run in lang/rust-nightly +set -eu + +get_commit() { + awk ' +$1 == "[pkg.rustc]" { pkg_rustc = 1 } +pkg_rustc && $1 == "git_commit_hash" { + print substr($3, 2, 10) + exit +}' +} + +prev_date=$(portedit get '^NIGHTLY_DATE$' .) +prev_commit=$(fetch -qo - https://static.rust-lang.org/dist/${prev_date}/channel-rust-nightly.toml | get_commit) +fetch -qo /tmp/channel-rust-nightly.toml https://static.rust-lang.org/dist/channel-rust-nightly.toml +