pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

rust: Upgrade to version 1.72.0.



Module Name:	pkgsrc-wip
Committed By:	Havard Eidnes <he%NetBSD.org@localhost>
Pushed By:	he
Date:		Sun Sep 24 11:43:10 2023 +0000
Changeset:	daac7c3277f231b7ceaaa817a8d3ad72258a086b

Modified Files:
	rust/Makefile
	rust/distinfo
	rust/do-cross.mk
	rust/patches/patch-compiler_rustc__llvm_build.rs
	rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust/patches/patch-src_bootstrap_bootstrap.py
	rust/patches/patch-src_bootstrap_builder.rs
	rust/patches/patch-src_bootstrap_llvm.rs
	rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust/patches/patch-src_tools_rust-installer_install-template.sh
	rust/patches/patch-vendor_cc_src_lib.rs
Added Files:
	rust/patches/patch-vendor_crossbeam-utils-0.8.15_no__atomic.rs
	rust/patches/patch-vendor_libc-0.2.140_src_unix_solarish_mod.rs
	rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mips.rs
	rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust/patches/patch-vendor_libc-0.2.141_src_unix_solarish_mod.rs
	rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mips.rs
	rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust/patches/patch-vendor_libc-0.2.146_src_unix_solarish_mod.rs
Removed Files:
	rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust/patches/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__netbsd.rs
	rust/patches/patch-library_core_src_ffi_mod.rs
	rust/patches/patch-library_portable-simd_crates_core__simd_src_swizzle__dyn.rs
	rust/patches/patch-vendor_cc-1.0.77_src_lib.rs
	rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mips.rs
	rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mips.rs
	rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_riscv64.rs

Log Message:
rust: Upgrade to version 1.72.0.

Pkgsrc changes:
 * Adjust patches and cargo checksums to new versions.

Upstream changes:

Version 1.72.0 (2023-08-24)
==========================

Language
--------

- [Replace const eval limit by a lint and add an exponential backoff warning]
  (https://github.com/rust-lang/rust/pull/103877/)
- [expand: Change how `#![cfg(FALSE)]` behaves on crate root]
  (https://github.com/rust-lang/rust/pull/110141/)
- [Stabilize inline asm for LoongArch64]
  (https://github.com/rust-lang/rust/pull/111235/)
- [Uplift `clippy::undropped_manually_drops` lint]
  (https://github.com/rust-lang/rust/pull/111530/)
- [Uplift `clippy::invalid_utf8_in_unchecked` lint]
  (https://github.com/rust-lang/rust/pull/111543/)
- [Uplift `clippy::cast_ref_to_mut` lint]
  (https://github.com/rust-lang/rust/pull/111567/)
- [Uplift `clippy::cmp_nan` lint]
  (https://github.com/rust-lang/rust/pull/111818/)
- [resolve: Remove artificial import ambiguity errors]
  (https://github.com/rust-lang/rust/pull/112086/)
- [Don't require associated types with Self: Sized bounds in `dyn
  Trait` objects]
  (https://github.com/rust-lang/rust/pull/112319/)

Compiler
--------

- [Remember names of `cfg`-ed out items to mention them in diagnostics]
  (https://github.com/rust-lang/rust/pull/109005/)
- [Support for native WASM exceptions]
  (https://github.com/rust-lang/rust/pull/111322/)
- [Add support for NetBSD/aarch64-be (big-endian arm64).]
  (https://github.com/rust-lang/rust/pull/111326/)
- [Write to stdout if `-` is given as output file]
  (https://github.com/rust-lang/rust/pull/111626/)
- [Force all native libraries to be statically linked when linking
  a static binary]
  (https://github.com/rust-lang/rust/pull/111698/)
- [Add Tier 3 support for `loongarch64-unknown-none*`]
  (https://github.com/rust-lang/rust/pull/112310/)
- [Prevent `.eh_frame` from being emitted for `-C panic=abort`]
  (https://github.com/rust-lang/rust/pull/112403/)
- [Support 128-bit enum variant in debuginfo codegen]
  (https://github.com/rust-lang/rust/pull/112474/)
- [compiler: update solaris/illumos to enable tsan support.]
  (https://github.com/rust-lang/rust/pull/112039/)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

Libraries
---------

- [Document memory orderings of `thread::{park, unpark}`]
  (https://github.com/rust-lang/rust/pull/99587/)
- [io: soften â<80><98>at most one write attemptâ<80><99>
   requirement in io::Write::write]
  (https://github.com/rust-lang/rust/pull/107200/)
- [Specify behavior of HashSet::insert]
  (https://github.com/rust-lang/rust/pull/107619/)
- [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>`
  and `LineWriter<T>`]
  (https://github.com/rust-lang/rust/pull/111074/)
- [Update runtime guarantee for `select_nth_unstable`]
  (https://github.com/rust-lang/rust/pull/111974/)
- [Return `Ok` on kill if process has already exited]
  (https://github.com/rust-lang/rust/pull/112594/)
- [Implement PartialOrd for `Vec`s over different allocators]
  (https://github.com/rust-lang/rust/pull/112632/)
- [Use 128 bits for TypeId hash]
  (https://github.com/rust-lang/rust/pull/109953/)
- [Don't drain-on-drop in DrainFilter impls of various collections.]
  (https://github.com/rust-lang/rust/pull/104455/)
- [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata]
  (https://github.com/rust-lang/rust/pull/106450/)

Rustdoc
-------

- [Allow whitespace as path separator like double colon]
  (https://github.com/rust-lang/rust/pull/108537/)
- [Add search result item types after their name]
  (https://github.com/rust-lang/rust/pull/110688/)
- [Search for slices and arrays by type with `[]`]
  (https://github.com/rust-lang/rust/pull/111958/)
- [Clean up type unification and "unboxing"]
  (https://github.com/rust-lang/rust/pull/112233/)

Stabilized APIs
---------------

- [`impl<T: Send> Sync for mpsc::Sender<T>`]
  (https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E)
- [`impl TryFrom<&OsStr> for &str`]
  (https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str)
- [`String::leak`]
  (https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak)

These APIs are now stable in const contexts:

- [`CStr::from_bytes_with_nul`]
  (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
- [`CStr::to_bytes`]
  (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
- [`CStr::to_bytes_with_nul`]
  (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)
- [`CStr::to_str`]
  (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul)

Cargo
-----

- Enable `-Zdoctest-in-workspace` by default. When running each documentation
  test, the working directory is set to the root directory of the package the
  test belongs to.
  [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests)
  [#12221](https://github.com/rust-lang/cargo/pull/12221)
  [#12288](https://github.com/rust-lang/cargo/pull/12288)
- Add support of the "default" keyword to reset previously set `build.jobs`
  parallelism back to the default.
  [#12222](https://github.com/rust-lang/cargo/pull/12222)

Compatibility Notes
-------------------

- [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses]
  (https://github.com/rust-lang/rust/pull/112606/)
- Cargo changed feature name validation check to a hard error. The
  warning was added in Rust 1.49. These extended characters aren't
  allowed on crates.io, so this should only impact users of other
  registries, or people who don't publish to a registry.
  [#12291](https://github.com/rust-lang/cargo/pull/12291)

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=daac7c3277f231b7ceaaa817a8d3ad72258a086b

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 rust/Makefile                                      | 116 +++++----
 rust/distinfo                                      | 261 ++++++++++-----------
 rust/do-cross.mk                                   |   2 +-
 rust/patches/patch-compiler_rustc__llvm_build.rs   |   4 +-
 ...target_src_spec_aarch64__be__unknown__netbsd.rs |  24 --
 .../patch-compiler_rustc__target_src_spec_mod.rs   |  12 +-
 ...__target_src_spec_riscv64gc__unknown__netbsd.rs |  26 --
 .../patch-library_backtrace_src_symbolize_gimli.rs |  18 +-
 rust/patches/patch-library_core_src_ffi_mod.rs     |  20 --
 ...able-simd_crates_core__simd_src_swizzle__dyn.rs |  46 ----
 rust/patches/patch-src_bootstrap_bootstrap.py      |  10 +-
 rust/patches/patch-src_bootstrap_builder.rs        |   6 +-
 rust/patches/patch-src_bootstrap_llvm.rs           |  22 +-
 ...atch-src_tools_cargo_src_cargo_core_profiles.rs |   4 +-
 ...ch-src_tools_rust-installer_install-template.sh | 214 ++++++++---------
 rust/patches/patch-vendor_cc-1.0.77_src_lib.rs     |  16 --
 rust/patches/patch-vendor_cc_src_lib.rs            |   6 +-
 ...tch-vendor_crossbeam-utils-0.8.15_no__atomic.rs |  20 ++
 ...-0.2.139_src_unix_bsd_netbsdlike_netbsd_mips.rs |  29 ---
 ...c-0.2.139_src_unix_bsd_netbsdlike_netbsd_mod.rs |  48 ----
 ...2.139_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  31 ---
 ...ch-vendor_libc-0.2.140_src_unix_solarish_mod.rs |  15 ++
 ...-0.2.141_src_unix_bsd_netbsdlike_netbsd_mips.rs |  29 +++
 ...c-0.2.141_src_unix_bsd_netbsdlike_netbsd_mod.rs |  48 ++++
 ...2.141_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  31 +++
 ...ch-vendor_libc-0.2.141_src_unix_solarish_mod.rs |  15 ++
 ...-0.2.143_src_unix_bsd_netbsdlike_netbsd_mips.rs |  29 ---
 ...c-0.2.143_src_unix_bsd_netbsdlike_netbsd_mod.rs |  47 ----
 ...2.143_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  29 ---
 ...-0.2.146_src_unix_bsd_netbsdlike_netbsd_mips.rs |  29 +++
 ...c-0.2.146_src_unix_bsd_netbsdlike_netbsd_mod.rs |  47 ++++
 ...2.146_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  29 +++
 ...ch-vendor_libc-0.2.146_src_unix_solarish_mod.rs |  15 ++
 33 files changed, 616 insertions(+), 682 deletions(-)

diffs:
diff --git a/rust/Makefile b/rust/Makefile
index 9a75b9735a..6453c2645e 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile,v 1.284 2023/06/19 14:46:47 bsiegert Exp $
 
-DISTNAME=	rustc-1.71.1-src
+DISTNAME=	rustc-1.72.0-src
 PKGNAME=	${DISTNAME:S/rustc/rust/:S/-src//}
 CATEGORIES=	lang
 MASTER_SITES=	https://static.rust-lang.org/dist/
@@ -212,49 +212,49 @@ BUILDLINK_TRANSFORM+=	opt:x86_64:arm64
 DISTFILES:=		${DEFAULT_DISTFILES}
 
 .if ${MACHINE_PLATFORM:MDarwin-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		aarch64-apple-darwin
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MDarwin-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		x86_64-apple-darwin
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MLinux-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		aarch64-unknown-linux-gnu
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MLinux-*-earmv6hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		arm-unknown-linux-gnueabihf
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MLinux-*-earmv7hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		armv7-unknown-linux-gnueabihf
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MLinux-*-i386} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		i686-unknown-linux-gnu
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MLinux-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		x86_64-unknown-linux-gnu
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -279,14 +279,14 @@ CONFIGURE_ARGS+=	--host=${RUST_ARCH}
 CONFIGURE_ARGS+=	--target=${RUST_ARCH}
 .endif
 .if ${MACHINE_PLATFORM:MFreeBSD-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH:=		x86_64-unknown-freebsd
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-i386} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH=		i586-unknown-netbsd
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -306,14 +306,14 @@ pre-build-fix-paxctl:
 	${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH=		x86_64-unknown-netbsd
 RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.70.0
+RUST_STAGE0_VER=	1.71.1
 RUST_ARCH=		powerpc-unknown-netbsd
 
 # Cross-built against NetBSD 9.0
@@ -326,17 +326,17 @@ SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
 .  endif
 
 # Cross-built against NetBSD 8.0
-.  if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.  endif
+#.  if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
+#RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+#RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+#DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
+#SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
+#SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
+#.  endif
 
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.70.0
+RUST_STAGE0_VER=		1.71.1
 RUST_ARCH=			aarch64-unknown-netbsd
 RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -345,7 +345,7 @@ SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-aarch64eb} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.70.0
+RUST_STAGE0_VER=		1.71.1
 RUST_ARCH=			aarch64_be-unknown-netbsd
 RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -354,7 +354,7 @@ SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-sparc64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.70.0
+RUST_STAGE0_VER=		1.71.1
 RUST_ARCH=			sparc64-unknown-netbsd
 RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -364,7 +364,7 @@ SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-earmv7hf} || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=			armv7-unknown-netbsd-eabihf
-RUST_STAGE0_VER=		1.70.0
+RUST_STAGE0_VER=		1.71.1
 RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
@@ -373,25 +373,25 @@ SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-earmv6hf} || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=			armv6-unknown-netbsd-eabihf
-RUST_STAGE0_VER=		1.70.0
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=			mipsel-unknown-netbsd
-RUST_STAGE0_VER=		1.70.0
+RUST_STAGE0_VER=		1.71.1
 RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
 .endif
+#.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || make(distinfo) || make (makesum) || make(mdi)
+#RUST_ARCH=			mipsel-unknown-netbsd
+#RUST_STAGE0_VER=		1.71.1
+#RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+#RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+#DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
+#SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
+#SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
+#.endif
 .if ${MACHINE_PLATFORM:MNetBSD-*-riscv64} || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=			riscv64gc-unknown-netbsd
-RUST_STAGE0_VER=		1.70.0
+RUST_STAGE0_VER=		1.71.1
 RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
@@ -434,31 +434,35 @@ CKSUM_CRATES+=	vendor/cc-1.0.73
 CKSUMS+=	38970d678de0efb4b5e2978265daa8a613a1db35fc42e669621b03fc56d5b138
 CKSUMS+=	65de0d6593a4256e5fcaf898f9468d71bab672c70a2dfab3dcb8514e9b72819c
 
-CKSUM_CRATES+=	vendor/cc-1.0.77
-CKSUMS+=	2403bbe39ff511ea5a517c0841d825173a4fdc8a0899c64282bba49127f0dc33
-CKSUMS+=	2b7150f466b9e0617b2c3755450db2090232f27561687d462b0a8ac0518fce87
-
 CKSUM_CRATES+=	vendor/cc
 CKSUMS+=	17a4659710aa290c4ed9c23063c7b202c5bcf2a84de33aa1f01fc6fded69a1f8
 CKSUMS+=	a19bcb1a561d4ba5846f8f89fcfe6f05a3cb2e79baf8f21f53f0fba012db1b7f
 
 CKSUM_CRATES+=	vendor/libc
-CKSUMS+=	247154ad4f5e5114a2bb572bff0d157ed3b937a373759146b7d0f2900203293b
-CKSUMS+=	a23a255e9793ecf674ddb8cdb5ea9b71999d1bddbaf26bf930e425aa6d2a8bc7
 CKSUMS+=	55ce4624745e31ad226b47fde177a46176a89da3fa5030663673a115102471f9
 CKSUMS+=	09ab15cd50245f4ced230b7919657ab170e06443bb0ed4baf4449d3472f5f656
+CKSUMS+=	90dd33ef20dc3be8aef5bd152a6a06e7ab34f9527b3978487b593aaa16a907bd
+CKSUMS+=	6a60a542639528a0a34b9c9a7298973ec2cf1449c59546b7b30dcef6c51874dd
 
-CKSUM_CRATES+=	vendor/libc-0.2.139
+CKSUM_CRATES+=	vendor/libc-0.2.138
 CKSUMS+=	107a4aa396b8383c66e0ace2f941450b4b69146558cdc4d9fbe33eeab51760f1
 CKSUMS+=	4be83bef456569d59405edf134e7fe8eff78f3fe35f1efd60e15405d5c822725
 
 CKSUM_CRATES+=	vendor/libc-0.2.140
 CKSUMS+=	4493317993af390d8aafc2cb7ace4c349dfc9d2451fd666844f04a4fa1f47442
 CKSUMS+=	e5414483c02597e67a0aa27db7501f1a98c43ffee0151aa320586dded51f41cb
+CKSUMS+=	6442ed05eb390d44a03daa9800af1030f2ee3e61db98675262c227b28de51937
+CKSUMS+=	ec554c837999c718786debfcfe2241984193751fcd52156323b418d96319aa95
 
-CKSUM_CRATES+=	vendor/libc-0.2.143
-CKSUMS+=	88e7667202668ca4f7e63b22b56b3d15e78ecc1481d3528ede6ef4728cafa1b4
-CKSUMS+=	8f32aab5222247a2afbd7b96c4c48d744a941567d07484fda9fe6a5aae54b75d
+CKSUM_CRATES+=	vendor/libc-0.2.141
+CKSUMS+=	7ef29186aa6ad4745a713d1ecf6d1e29712fc111889dc0c8de38322e82134565
+CKSUMS+=	42e8665aa88cd6002c9286060f88fe8b5cfdaff1b569d23292bdb43c8d22a8ff
+CKSUMS+=	6442ed05eb390d44a03daa9800af1030f2ee3e61db98675262c227b28de51937
+CKSUMS+=	ec554c837999c718786debfcfe2241984193751fcd52156323b418d96319aa95
+
+CKSUM_CRATES+=	vendor/libc-0.2.146
+CKSUMS+=	6442ed05eb390d44a03daa9800af1030f2ee3e61db98675262c227b28de51937
+CKSUMS+=	ec554c837999c718786debfcfe2241984193751fcd52156323b418d96319aa95
 
 CKSUM_CRATES+=	vendor/lzma-sys
 CKSUMS+=	6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
@@ -469,8 +473,26 @@ CKSUMS+=	59ca847887cf19387119d18c57f08d5a8520d714876ca0142b8f1c001ecde06b
 CKSUMS+=	03be8ae293b713fe6e9703e4809dd68caaec992bae6777914ffddae8da2a9bc7
 
 CKSUM_CRATES+=	vendor/crossbeam-utils
+CKSUMS+=	5f75132808d9e8d6e266fe77f9e20bbc35855a1c37a5dbc0940b3e989bca1a94
+CKSUMS+=	3d7c747108434546837b1c5664111c9146fcbfb2e084c95f8ce0be970d652421
+
+CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.14
+CKSUMS+=	3314524d2afa0360c947455a6e6566fb54ebf909c99479ca3b7435741fd3293e
+CKSUMS+=	eaef167dea04efa811cf0d53de98feac6063ec2196eccd315d345ef86c551aaa
+
+CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.15
 CKSUMS+=	c291992d273abba165579ada7873c34ce4f3674363a7c1ec092be856beac0355
-CKSUMS+=	63f1cd23943d58f217afa37a0760ede63d6b51a67e886d3c69819103955d3cb3
+CKSUMS+=	4b1060291e306e41b2eaccdeed77625ea229d05442ce063826f59dedc43407ec
+
+CKSUM_CRATES+=	vendor/crossbeam-epoch
+CKSUMS+=	5f75132808d9e8d6e266fe77f9e20bbc35855a1c37a5dbc0940b3e989bca1a94
+CKSUMS+=	3d7c747108434546837b1c5664111c9146fcbfb2e084c95f8ce0be970d652421
+
+CKSUM_CRATES+=	vendor/openssl-sys
+CKSUMS+=	03f2de4a6d5c4baff39aff416cae0529ab57624e090a48843528242a1c7f20d9
+CKSUMS+=	a4ec7dac1eb920c609ef4ebf0e0a90af34e4e2a3e6eb3059ed110c029aa1d1cf
+CKSUMS+=	1f9233e5993c3537767d39b66fa5a43f5268a9bf89b70884886652cfa7e869c6
+CKSUMS+=	93dd56b8ea8c24678cf390232a1de7bbf0de64a5eaa40da95848e22e611c6dcb
 
 CKSUM_CRATES+=	vendor/openssl-src
 CKSUMS+=	683c9ed1a7953f7f9da43412010de95ba733860a18bc28a4fc3cbcc6ac93c4d7
@@ -482,10 +504,6 @@ CKSUM_CRATES+=	vendor/nix
 CKSUMS+=	c3e13a2edea54d190a4b051f62efc97953c00b5051a9fda0e39e3bc732a31939
 CKSUMS+=	263bd7ace66a4cfee3de18532f61c187327fcbd564666b4f97c4b01ae6885d98
 
-CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.14
-CKSUMS+=	3314524d2afa0360c947455a6e6566fb54ebf909c99479ca3b7435741fd3293e
-CKSUMS+=	eaef167dea04efa811cf0d53de98feac6063ec2196eccd315d345ef86c551aaa
-
 SUBST_CLASSES+=		cksum
 SUBST_STAGE.cksum=	pre-configure
 .for crate in ${CKSUM_CRATES}
diff --git a/rust/distinfo b/rust/distinfo
index 655c93c678..d7fa2ffdc6 100644
--- a/rust/distinfo
+++ b/rust/distinfo
@@ -3,173 +3,160 @@ $NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
 BLAKE2s (rust-1.69.0-x86_64-unknown-illumos.tar.gz) = e750d02582f4bca4eef0a7776e844263a9fc859858604d913cfc6d5abbfbcc9a
 SHA512 (rust-1.69.0-x86_64-unknown-illumos.tar.gz) = eb36e97d9fd8a1b3797f0702177f47666b98c852257094c779fad82426463ad5f8775a987e85ddff6abc8c3a22810dcb4267dedf77b3272bb05b8775ead18c51
 Size (rust-1.69.0-x86_64-unknown-illumos.tar.gz) = 214951989 bytes
-BLAKE2s (rust-1.70.0-aarch64-apple-darwin.tar.gz) = dd134e5775fd9bfdbf4d0a1b9ef76c5e01f113efb25654ec0ece397e6fafb433
-SHA512 (rust-1.70.0-aarch64-apple-darwin.tar.gz) = 22466cd67b1835f369cb92a754f8a108b062453b9a3ee05cca8078595a7af98a0cac41e19ba7ea0c6f5ce0593ed215eaf7c2e6ddfdb56a672486367bc934ac59
-Size (rust-1.70.0-aarch64-apple-darwin.tar.gz) = 239190822 bytes
-BLAKE2s (rust-1.70.0-aarch64-unknown-linux-gnu.tar.gz) = a3b4f41b0257f4459cbf6041fd1f460bea8e417f3d52c298788761dc61233d87
-SHA512 (rust-1.70.0-aarch64-unknown-linux-gnu.tar.gz) = bbc6fff5748884b52e4706c06fd3b95bd9043723ba581219186e9efbe8b5aed591abc8b974d822a4085d1e3768295aaed315c42a55722be6d000f493ae2ef549
-Size (rust-1.70.0-aarch64-unknown-linux-gnu.tar.gz) = 451145710 bytes
-BLAKE2s (rust-1.70.0-aarch64-unknown-netbsd.tar.xz) = 7e6b4357b84f1c030372ccd7a425d3c0852dc08ece385b6c3d92021d27f3bf64
-SHA512 (rust-1.70.0-aarch64-unknown-netbsd.tar.xz) = f99c4da059ca22021ab385e9518956419f8267b1e8c480285e542adf5a3bef7b6538981862723ddb7ec7368bbac07948bb2207c9fe4d14a8ac52e2fa5b38cc7e
-Size (rust-1.70.0-aarch64-unknown-netbsd.tar.xz) = 195312000 bytes
-BLAKE2s (rust-1.70.0-aarch64_be-unknown-netbsd.tar.xz) = 275ea9603647b87a9d7c70ceb5e3dae0f20af436464bb116a71e25098a67d4c7
-SHA512 (rust-1.70.0-aarch64_be-unknown-netbsd.tar.xz) = b821a60a9fa95b3f424badba6c912f656f4eb0b19eb2a68a4e2d9c04fc4e794ea2b666f9924c9d6ce59e27741e975f35ce55814019ea526dd28b88ec65c802f0
-Size (rust-1.70.0-aarch64_be-unknown-netbsd.tar.xz) = 196691256 bytes
-BLAKE2s (rust-1.70.0-arm-unknown-linux-gnueabihf.tar.gz) = 35fac603cb55d0cbed920b793d0a30c39ed96bb810a186d5f97bbff933df9f8d
-SHA512 (rust-1.70.0-arm-unknown-linux-gnueabihf.tar.gz) = f618a88cefcfb9c399eacc46e0b7fcf6469bacf5891ac5befea3398d634bf8528135d65eb5917ad5cf2a3afa5481c87043ac3d0950a677937962ec14b34dfdc1
-Size (rust-1.70.0-arm-unknown-linux-gnueabihf.tar.gz) = 343156416 bytes
-BLAKE2s (rust-1.70.0-armv6-unknown-netbsd-eabihf.tar.xz) = a50eedad75ac907f7b278441a9a7e6fac78d8db29af90c30e64c1e0f779be0b5
-SHA512 (rust-1.70.0-armv6-unknown-netbsd-eabihf.tar.xz) = 9ccd2bea38383b06d66aa796977ab14003f7fbc7e8cc37a756dd44df05e4ff685d0d69ff9b6e339ff8865fb376fc3b23d2af2357767be493a8f8ad64330e4369
-Size (rust-1.70.0-armv6-unknown-netbsd-eabihf.tar.xz) = 169942036 bytes
-BLAKE2s (rust-1.70.0-armv7-unknown-linux-gnueabihf.tar.gz) = 1d5760281648a2dc70fdff93ef3662e58613e8affd6830bcd7d3972c03e855e8
-SHA512 (rust-1.70.0-armv7-unknown-linux-gnueabihf.tar.gz) = 44de5e21f0e310b744e4902ac32256e36069e1b8ccd0c202803400a10171f5ee955a9eaf8cd86cd15e25413fb53dfbaad0450b3d25320755c3c6335fc219e571
-Size (rust-1.70.0-armv7-unknown-linux-gnueabihf.tar.gz) = 332823088 bytes
-BLAKE2s (rust-1.70.0-armv7-unknown-netbsd-eabihf.tar.xz) = 3a039556bc0ea52a510b29d83e9f957bba182eb83d0e18eb8c52852bd9024b58
-SHA512 (rust-1.70.0-armv7-unknown-netbsd-eabihf.tar.xz) = 2ed4587bf48ec525e1235af14855333fa8c629edf2d48dc1c4ae6db52adb557d635fe35ee1d0bbc184336e68c55605863cbecfa83628df707df6afd21c5299a7
-Size (rust-1.70.0-armv7-unknown-netbsd-eabihf.tar.xz) = 171353556 bytes
-BLAKE2s (rust-1.70.0-i586-unknown-netbsd.tar.xz) = d985b5e9adc30e11c5d98d2ca07424f2f425efcf6136db6b0cc1e68d70ae78a8
-SHA512 (rust-1.70.0-i586-unknown-netbsd.tar.xz) = 34301c54ad5d4d1e9374c36a56c5bb7978a2e8674ae91bb5fd01b7a1a16132470af3b73ba0d897ebe3f57db92beb73bda7ad7e412b975f3c6d5895fe2833a3b2
-Size (rust-1.70.0-i586-unknown-netbsd.tar.xz) = 90330264 bytes
-BLAKE2s (rust-1.70.0-i686-unknown-linux-gnu.tar.gz) = 1fb19ed2f04cdb05d17e23392a39492d2d06441f12613483ae92938efe8a2665
-SHA512 (rust-1.70.0-i686-unknown-linux-gnu.tar.gz) = cce9e4ba58ae05e3b861aa70a32b2ce67f2115640cd869f4cc1d5cce8f24f5edbca2a863eff3e736937aa777d8b590a1a232b6fa226aee752c5d9d3adf7ee188
-Size (rust-1.70.0-i686-unknown-linux-gnu.tar.gz) = 401968147 bytes
-BLAKE2s (rust-1.70.0-mipsel-unknown-netbsd.tar.xz) = 08c5a807e705b3c825ee944108fe8f1d49a4ed90fbb12e1c3139354d0f2e4c7c
-SHA512 (rust-1.70.0-mipsel-unknown-netbsd.tar.xz) = 4b08f75c6bd45ddff34ece46c95dd1bdc660e33d6ba49c9ef1acc7254629c5eb654b2f44ffe32d20b8e9a5d542b79bac13ecf5bcee422b0a25ce17ad06b6de55
-Size (rust-1.70.0-mipsel-unknown-netbsd.tar.xz) = 174026940 bytes
-BLAKE2s (rust-1.70.0-powerpc-unknown-netbsd.tar.xz) = bcf4ca36682f9fd29dbae1f082ca4381856c9070b22f303be9fdd2be82b6857e
-SHA512 (rust-1.70.0-powerpc-unknown-netbsd.tar.xz) = e2cbfa36e5facc9fdeb52e79e116976edad7777731eae85e1e075ba26229d6494faa88413657046c91390aad5d9c9cb31f7fb8227c43e1afa3a311c3c19f82b6
-Size (rust-1.70.0-powerpc-unknown-netbsd.tar.xz) = 87639104 bytes
-BLAKE2s (rust-1.70.0-powerpc-unknown-netbsd90.tar.xz) = 89183f0ca60c485a96835782520f61eb5f4f6b462b61c71d100f896b5032e8dc
-SHA512 (rust-1.70.0-powerpc-unknown-netbsd90.tar.xz) = 2c11765b03f299b1b69f00f5ebdf3583e956976f4ffbd4a1b1f61e57ffcc753ef1e777457a956a5b110dd502e318dbed6aa16d1751fc113bcc23e56c96801eeb
-Size (rust-1.70.0-powerpc-unknown-netbsd90.tar.xz) = 233766996 bytes
-BLAKE2s (rust-1.70.0-riscv64gc-unknown-netbsd.tar.xz) = 2d0c4186ec4aad6abc5a1b95dca0009a43ce3963f1302610759db16965a7e067
-SHA512 (rust-1.70.0-riscv64gc-unknown-netbsd.tar.xz) = 9a7cbe5cd5bcb29b01a244f01eb061f48d4d8a5881f47bf1e772c9c0219d34a11edb875635b04047763d8e1efbce75be2f60f0ff76cfb1fa04db3af8a36076f1
-Size (rust-1.70.0-riscv64gc-unknown-netbsd.tar.xz) = 205554164 bytes
-BLAKE2s (rust-1.70.0-sparc64-unknown-netbsd.tar.xz) = f52a39f069fe649ff4426dc2513a3f932d4171bde82c31eba04c1fe4a8280499
-SHA512 (rust-1.70.0-sparc64-unknown-netbsd.tar.xz) = 35f88cff123dd14c34b79c0d27e62ac3626b25a8d449fc94c6f6c9dae23bc4e3592713aad363c492c47fe7476f454965a3bea03373b39c9a2b25f30c456ef222
-Size (rust-1.70.0-sparc64-unknown-netbsd.tar.xz) = 195174124 bytes
-BLAKE2s (rust-1.70.0-x86_64-apple-darwin.tar.gz) = f8536da95fcfc022f1a7cb9512af16d834f747c3e6c6717aec6d9bdbc8bb4a64
-SHA512 (rust-1.70.0-x86_64-apple-darwin.tar.gz) = 5986d363c821b104509c4f04785b1e58211ed9d054f3ab0af068fe54b86fa43acac1ab9e9407ed779e6018a375332a8a8d70fe7b5317194e3940e481a9383825
-Size (rust-1.70.0-x86_64-apple-darwin.tar.gz) = 324054910 bytes
-BLAKE2s (rust-1.70.0-x86_64-unknown-freebsd.tar.gz) = 377a9e54374d903902d11c3252d0b87f9cf09869b8e18ab5f6a242aab9198403
-SHA512 (rust-1.70.0-x86_64-unknown-freebsd.tar.gz) = f01bfb2f9f952bcd05bd15436377b668ff0a06e5e880e6f7e1605ee18a99109c4be365cc68ce2305c949c800813922263fd5b0e27f927fe3f17c8c25281c1711
-Size (rust-1.70.0-x86_64-unknown-freebsd.tar.gz) = 307948458 bytes
-BLAKE2s (rust-1.70.0-x86_64-unknown-linux-gnu.tar.gz) = adce2784cc26732d23d4aa13814c962f026a6537c03c5a77017335126d2bc1dd
-SHA512 (rust-1.70.0-x86_64-unknown-linux-gnu.tar.gz) = 468a668dec119c9034df568d4a3ff0c7898e11b7dd2767d6b3358d6011915998e1683c8c444a3350bc559e55c739335b9553e7caca0b5c594ddfc31ef6190cad
-Size (rust-1.70.0-x86_64-unknown-linux-gnu.tar.gz) = 347192982 bytes
-BLAKE2s (rust-1.70.0-x86_64-unknown-netbsd.tar.xz) = e0a543464f7bcff3eaf8bbad79b14b91c649dc0f8d849e5165b44fe8d5f1818a
-SHA512 (rust-1.70.0-x86_64-unknown-netbsd.tar.xz) = a1b8395d614c2cf6e8447df8ea900ca149401c43e56e8a713dc8fd7131b7229a43dddbdd9c1e079145065b227e9b960249fd754434d156e4f1c3c3f180b35472
-Size (rust-1.70.0-x86_64-unknown-netbsd.tar.xz) = 151412256 bytes
-BLAKE2s (rust-std-1.70.0-aarch64-apple-darwin.tar.gz) = 7c8cca48b30a67e7b59022e76fdca58ae2af1275e7db6c77d1e912f9cc8fdf86
-SHA512 (rust-std-1.70.0-aarch64-apple-darwin.tar.gz) = eee2c6fc687426d65a0099846455cfcd6ea094b2adb82d52355f73d4b14d34b8268ebce815ed028fa5c7fedce8c52381992c0f09c4fe99523cd74fbc8255c272
-Size (rust-std-1.70.0-aarch64-apple-darwin.tar.gz) = 41922676 bytes
-BLAKE2s (rust-std-1.70.0-aarch64-unknown-linux-gnu.tar.gz) = 5f26ed530ce24bb86ea13e3e72c7e39a6839487b9c2aa885bedee38bafbcf53b
-SHA512 (rust-std-1.70.0-aarch64-unknown-linux-gnu.tar.gz) = ec34c4757c7414c15369d2d0669bb6a5d15af5511b65ab16beff26a902e4c214ac831cf1071a9132a5de80cac37d2fdfc10f93546b042b4801ef3f2baf1345c0
-Size (rust-std-1.70.0-aarch64-unknown-linux-gnu.tar.gz) = 65637566 bytes
-BLAKE2s (rust-std-1.70.0-aarch64-unknown-netbsd.tar.xz) = 86c1afbd0999b9fb7bb1469a95e17559be15d63dc2422f72bb7dccf154521375
-SHA512 (rust-std-1.70.0-aarch64-unknown-netbsd.tar.xz) = 99415b0d8585bc4ffb5818e6e3b2c83de89b52893677dff3b9570752c30cc541fb1a1ff334f3d6b82a5e476b95a0f0f5fd50dfa5a0e7dd22b9a2632195f00e08
-Size (rust-std-1.70.0-aarch64-unknown-netbsd.tar.xz) = 27325056 bytes
-BLAKE2s (rust-std-1.70.0-aarch64_be-unknown-netbsd.tar.xz) = d7563002331f420e6d58869604c6009821460eec2da1e0b1638ece471dbbc49b
-SHA512 (rust-std-1.70.0-aarch64_be-unknown-netbsd.tar.xz) = cf8c85d966c34e22f3476aa8f45e88f0ed19655b9a3aa0f8822f944b0c5c8ee6caee0ff9a952ffad4816b10c93be5f2e80650a9aeaa90f80b13cbc680f7d01d5
-Size (rust-std-1.70.0-aarch64_be-unknown-netbsd.tar.xz) = 27372552 bytes
-BLAKE2s (rust-std-1.70.0-arm-unknown-linux-gnueabihf.tar.gz) = 973a9df8926f632740224132b61b5c7e6d4f95e9c5be41d4915658b262b577fb
-SHA512 (rust-std-1.70.0-arm-unknown-linux-gnueabihf.tar.gz) = 4b98fcb37ab9658ba15a6b571c9b92f156cb55193937b4db9ebdb24ed7f53b0782cb2f2f6ad459300b2fcb19c4941d920344e0e962339809d7cbc6e05c872215
-Size (rust-std-1.70.0-arm-unknown-linux-gnueabihf.tar.gz) = 38630349 bytes
-BLAKE2s (rust-std-1.70.0-armv6-unknown-netbsd-eabihf.tar.xz) = 010872f27e2aacf5a5a790fa6591d4433d6ac21973a496a78c93cd8141310427
-SHA512 (rust-std-1.70.0-armv6-unknown-netbsd-eabihf.tar.xz) = f8c0ae23d81290d2a9c15f08a37f6d4b4c830e2ad711694c638f87005c078d9bf7c587c6e381abd72ee845c11c0e7445e97dd93cd23ecb2f0a6fe2a3adf1e13f
-Size (rust-std-1.70.0-armv6-unknown-netbsd-eabihf.tar.xz) = 25513528 bytes
-BLAKE2s (rust-std-1.70.0-armv7-unknown-linux-gnueabihf.tar.gz) = 62a78bed4220ab27d392b5612d3702cf5e864fc76499abbc840610c0a5c33cc3
-SHA512 (rust-std-1.70.0-armv7-unknown-linux-gnueabihf.tar.gz) = b6e4ae072571ab6d8516e9ae245e9473251541d9006eb0d214ad89f218e9a07406fe28108758604f6eae038ff352d42ace9c4dd501b939e373f14f37d33189ff
-Size (rust-std-1.70.0-armv7-unknown-linux-gnueabihf.tar.gz) = 40182886 bytes
-BLAKE2s (rust-std-1.70.0-armv7-unknown-netbsd-eabihf.tar.xz) = 7b901a825ae419612f4c03072e561e976a3a46d5af31f2231661d656ed63a70b
-SHA512 (rust-std-1.70.0-armv7-unknown-netbsd-eabihf.tar.xz) = 9870719dea64a115719b844b5efaa281434f667b1bc730761bc0357cd0428a251d5b98b677709a51e0dd827a3f399b54a1034fdb91cd7815de77907bb6056577
-Size (rust-std-1.70.0-armv7-unknown-netbsd-eabihf.tar.xz) = 26517312 bytes
-BLAKE2s (rust-std-1.70.0-i586-unknown-netbsd.tar.xz) = 7fab81a35a0794ba06dcbac19a6758a7156f913079746b96c0f7e171b3d298f4
-SHA512 (rust-std-1.70.0-i586-unknown-netbsd.tar.xz) = b3810e5101e093c26110b26a4a4a9a8acac2e400922a7fe5d4131b022015f2386cc8bf5d09a61126fabd038ecbb388a15f824be86dd1bf990215556d9ef5718a
-Size (rust-std-1.70.0-i586-unknown-netbsd.tar.xz) = 28325780 bytes
-BLAKE2s (rust-std-1.70.0-i686-unknown-linux-gnu.tar.gz) = eadee1706a43c0d3b989ed43fc6682a30fa6f25c45ef166c7267e772440f7c5a
-SHA512 (rust-std-1.70.0-i686-unknown-linux-gnu.tar.gz) = 4cd9ab546b89b883821cc5dc9ccebde1f408e5e8ffc1cf97583a0378703eb7aa65627b890622b9d353030cb45f6d6a79f61f606c02ac3a03f7d23d20bf7df51a
-Size (rust-std-1.70.0-i686-unknown-linux-gnu.tar.gz) = 43122405 bytes
-BLAKE2s (rust-std-1.70.0-mipsel-unknown-netbsd.tar.xz) = cc3364cd60f9b7ca19fce18d7920d6bab6fdb3194f26476ee10d98c26b7f0905
-SHA512 (rust-std-1.70.0-mipsel-unknown-netbsd.tar.xz) = 1c17dd12b9a6ccb5a2bcbda1dc853d3d52d87fca48d7fa5e878d68ae78dbceaadcae3a8ecbe90f2b56ede30799107176f0688ec30ce663fb20039cb736337b4d
-Size (rust-std-1.70.0-mipsel-unknown-netbsd.tar.xz) = 25522252 bytes
-BLAKE2s (rust-std-1.70.0-powerpc-unknown-netbsd.tar.xz) = 5b1c6f121c85b82565279da3fccf2bf6c1e4f59b35d4b5346bbbed2c33e8ed64
-SHA512 (rust-std-1.70.0-powerpc-unknown-netbsd.tar.xz) = a06186d3fb84612885b795963c73db9659e7cd1cf2245b90de844e661d3966264980430110db48a2c79fffacc4b6148cb8d14a85e8b6c4aefb3bc5e2efedeceb
-Size (rust-std-1.70.0-powerpc-unknown-netbsd.tar.xz) = 25390448 bytes
-BLAKE2s (rust-std-1.70.0-powerpc-unknown-netbsd90.tar.xz) = c78ba16552385a7ca0b60e8a8e7fd257a1c4a613518c7cdb2c64179a6cabe035
-SHA512 (rust-std-1.70.0-powerpc-unknown-netbsd90.tar.xz) = b20e838c5bacb746b80b965809def00a0c5a8d768556d2b553beee20942161daa05dd3c03ffff4a52645db81471a4ae38f82acae92a8d70edd68da8c04304737
-Size (rust-std-1.70.0-powerpc-unknown-netbsd90.tar.xz) = 25378048 bytes
-BLAKE2s (rust-std-1.70.0-riscv64gc-unknown-netbsd.tar.xz) = e08222494230c9a35d15c5352d740d97707ebad20686ee663689a7139fc201a3
-SHA512 (rust-std-1.70.0-riscv64gc-unknown-netbsd.tar.xz) = ef61701dc6fda74148e7654645986fedafb4cbc4358d7571d4d1f66123d98d6026f9fbe557726c926a0029731519b6d70794d61c5baf6604ba8043030e567882
-Size (rust-std-1.70.0-riscv64gc-unknown-netbsd.tar.xz) = 25794632 bytes
-BLAKE2s (rust-std-1.70.0-sparc64-unknown-netbsd.tar.xz) = 444645ebe322473eb804e0f58c4ee116f8fb012a5450ce35d6e38124cc6e496e
-SHA512 (rust-std-1.70.0-sparc64-unknown-netbsd.tar.xz) = 277271f222e5c70efcb88c9e56c2907d1e8defa05263ef6f0223756fe97ce88f3b0d308d1147df1e72ecf457b55f8372f2d70cd63f5cc945a58f0104493edec4
-Size (rust-std-1.70.0-sparc64-unknown-netbsd.tar.xz) = 25516444 bytes
-BLAKE2s (rust-std-1.70.0-x86_64-apple-darwin.tar.gz) = a56a73af4770995f8ab073f5083794cdf631f53d972dbfd4c5b2b856cf95636d
-SHA512 (rust-std-1.70.0-x86_64-apple-darwin.tar.gz) = 760742796854d37227dde2b3aafc30dbaa5f0bbaca043f3c3e319626cc0cbd4a92253c6f30b417ee11a5144ca495057203b9a31b2f3336a249f19e2f12f7bf82
-Size (rust-std-1.70.0-x86_64-apple-darwin.tar.gz) = 44978754 bytes
-BLAKE2s (rust-std-1.70.0-x86_64-unknown-freebsd.tar.gz) = 18706cc2bcda39976fb941e7f11a4b765c16c0d2c0e0ac1a33968163cd4d0fdf
-SHA512 (rust-std-1.70.0-x86_64-unknown-freebsd.tar.gz) = edd41271af8cb70ef5d399bf38d6db925a44234f9b6dee8df6dcaebaeac2e344be9f2483ab2aac186fb185127c028f53c19f5fc9cccbe1ed659f6ed6bcdcc308
-Size (rust-std-1.70.0-x86_64-unknown-freebsd.tar.gz) = 46230203 bytes
-BLAKE2s (rust-std-1.70.0-x86_64-unknown-linux-gnu.tar.gz) = b49297bacf0604d7cc8d1e924d2db99aec5b074e3a599584477be2cd4a4bd359
-SHA512 (rust-std-1.70.0-x86_64-unknown-linux-gnu.tar.gz) = aabb92f6cd7f65785e002ce1ace6bb4ce4d68c536f68b41612b62bb3d1d96a3568f45f746878693aabd0eeeaa7bb7e33f69603df9798ae8f95767319d7168788
-Size (rust-std-1.70.0-x86_64-unknown-linux-gnu.tar.gz) = 47929103 bytes
-BLAKE2s (rust-std-1.70.0-x86_64-unknown-netbsd.tar.xz) = f0533bfe1cc8f296bd9a8fc1e6232007688b0f4f5efcca9bd8c89b8b74bb3f7b
-SHA512 (rust-std-1.70.0-x86_64-unknown-netbsd.tar.xz) = e0beade0769404243a5021b71aacd25c8bdab6d410acece3fc80c2cbcfe435914e656018714131febe57dbbe96cea6148743385cb34500c03b7fae8f966cbaa7
-Size (rust-std-1.70.0-x86_64-unknown-netbsd.tar.xz) = 27387808 bytes
-BLAKE2s (rustc-1.71.1-src.tar.gz) = 58effccc7abe6fd59913b85315185ceaaa2aa5b4f13c25c05200326019805212
-SHA512 (rustc-1.71.1-src.tar.gz) = 64f1041fe795929754cf6328c10b4966d5a7a79c7762815a87fb700b2a765e5002410e9abc876f472d6c372ba0a56053410a5a39a10c7b686343bcdde55e7ac4
-Size (rustc-1.71.1-src.tar.gz) = 275980783 bytes
+BLAKE2s (rust-1.71.1-aarch64-apple-darwin.tar.gz) = f95d80fa641fdf8c8304afc0e3b9f7a3d23b5981839650bbc70223e2865f2385
+SHA512 (rust-1.71.1-aarch64-apple-darwin.tar.gz) = 834e3a495f9f063cea6f1dc7a2865f505a4b53a0dcc657c76412812544d04a93dae7e04d18fa90fa04b40a65685373d74fb395807ff03d92da65577a4a785920
+Size (rust-1.71.1-aarch64-apple-darwin.tar.gz) = 237531247 bytes
+BLAKE2s (rust-1.71.1-aarch64-unknown-linux-gnu.tar.gz) = 681db83309f58315edfedbb15ba29148485281be7750a4362ec81fd436757150
+SHA512 (rust-1.71.1-aarch64-unknown-linux-gnu.tar.gz) = 288296f14b8ae5af37ff87ee67276f3f48c22e377d39398031ac35340bc1e210bc80b5685dd89e198c646c31c2962a808d46937c3a56a43b38ca77f2bd55e6b7
+Size (rust-1.71.1-aarch64-unknown-linux-gnu.tar.gz) = 447475697 bytes
+BLAKE2s (rust-1.71.1-aarch64-unknown-netbsd.tar.xz) = ed87f718e33498a233033e6e96f0de3c3d109cd1940560bc7dee80d87f88184c
+SHA512 (rust-1.71.1-aarch64-unknown-netbsd.tar.xz) = 062b6ed4613f9a2f8569082da841eff432fe55ec98a949319ac28f3774cdcf2913e465a5aaa1dca0dfd41da09e5442beeed8f6a8ed16d79715b4b210a862218d
+Size (rust-1.71.1-aarch64-unknown-netbsd.tar.xz) = 154961320 bytes
+BLAKE2s (rust-1.71.1-aarch64_be-unknown-netbsd.tar.xz) = 52351c0b9d8b9993779a2aea327de07dbd5c813022259e2980c1c273072bd84b
+SHA512 (rust-1.71.1-aarch64_be-unknown-netbsd.tar.xz) = 4ba323993798cfaa97e638f093a31a82cbff9cab047cf98d390252be2fb439d86f32cc00276a0fed3d907cc38bea03f36e8a535dd4235bdba03743552b11ec62
+Size (rust-1.71.1-aarch64_be-unknown-netbsd.tar.xz) = 153553460 bytes
+BLAKE2s (rust-1.71.1-arm-unknown-linux-gnueabihf.tar.gz) = 29cdabf07a45761939c8793f73a22378ab8bb9b1e9c7ec6dac44a1d11cd5f4e0
+SHA512 (rust-1.71.1-arm-unknown-linux-gnueabihf.tar.gz) = 76c7f598cbf8d2f6eecf5b690237da561b2cf963a70a3e4a479ff8836575a04a439f5639cf73de1213dfd5c4b121a5dbcd6d91147f18c91aac7b1d02db9c94fb
+Size (rust-1.71.1-arm-unknown-linux-gnueabihf.tar.gz) = 339648071 bytes
+BLAKE2s (rust-1.71.1-armv6-unknown-netbsd-eabihf.tar.xz) = 6712db9b5d25947a75b98e89b34af60d83ffc508a3118e27dae0313d93d464b6
+SHA512 (rust-1.71.1-armv6-unknown-netbsd-eabihf.tar.xz) = f4ac0eae273b9d1ee9148b88550ca6451b274848d18e1fa717584b66cbcd32e8a204321c4eb8ef52754ce8964df5dd0204195e946ae9137ebd447bb6bf0dbb11
+Size (rust-1.71.1-armv6-unknown-netbsd-eabihf.tar.xz) = 131613544 bytes
+BLAKE2s (rust-1.71.1-armv7-unknown-linux-gnueabihf.tar.gz) = a05bbabb2bd44c5a28cfdd98727752b411b3e05f3804a1fbd05a164abde932fa
+SHA512 (rust-1.71.1-armv7-unknown-linux-gnueabihf.tar.gz) = 50c264ac4c69f4fea33f13ec4860e4427bc00adbe99e3c61ded04590dc600983aa22588583c971626b18317fda6a9d99787d4bebce60c0ba58da34eca440bc26
+Size (rust-1.71.1-armv7-unknown-linux-gnueabihf.tar.gz) = 329291099 bytes
+BLAKE2s (rust-1.71.1-armv7-unknown-netbsd-eabihf.tar.xz) = d142654eb75a37a72243712bfced963ca68444416a080affd366b9af973dcfae
+SHA512 (rust-1.71.1-armv7-unknown-netbsd-eabihf.tar.xz) = 9febc2f135aaba0a7fb191a982b170548c50cdb6650928a6839c65e30cac2ee5b452837fa07e84519bc39390d86405db08f95d5ecdd335d20c24fa65e4c143cd
+Size (rust-1.71.1-armv7-unknown-netbsd-eabihf.tar.xz) = 132906512 bytes
+BLAKE2s (rust-1.71.1-i586-unknown-netbsd.tar.xz) = 759cf4b95a92f21937f5c19e434a1ae942403bff2a9aa5cecc986f5c0370fce8
+SHA512 (rust-1.71.1-i586-unknown-netbsd.tar.xz) = 495512685ffe243e10f371caafff4cf84c205301c0e069a4280bd74d538ac39b3254088a7e1e53ab2dd9c942b21d6b12a753208cb08ac1c9e23d17094a45ff47
+Size (rust-1.71.1-i586-unknown-netbsd.tar.xz) = 168003908 bytes
+BLAKE2s (rust-1.71.1-i686-unknown-linux-gnu.tar.gz) = 5d4973bd85846b81a05248b5c37d68688a2b9664a22a60b1f69dde2848748ed4
+SHA512 (rust-1.71.1-i686-unknown-linux-gnu.tar.gz) = 76e60d0826f7b767eaa842f8b80b3deb7f9e9a0ca203bd10cca071ff663b861d455b7df235cc91e3b5028b0794baedd93dc069d678668c7fac2dfa6d04d6f669
+Size (rust-1.71.1-i686-unknown-linux-gnu.tar.gz) = 396936847 bytes
+BLAKE2s (rust-1.71.1-powerpc-unknown-netbsd90.tar.xz) = c4b011c6663b3a00cb87be43460da053c708e3ecca9f879a656fcdd28d9b1f8f
+SHA512 (rust-1.71.1-powerpc-unknown-netbsd90.tar.xz) = 0cac1b23db3cb6005301c6753f2ebcf5ba5acf5792204f1cd98cd7ada3c1c1e4279c109815866481ec1481d3b293f7769f4a98b4a0baf750d57b5c57b56c1d5d
+Size (rust-1.71.1-powerpc-unknown-netbsd90.tar.xz) = 182664576 bytes
+BLAKE2s (rust-1.71.1-riscv64gc-unknown-netbsd.tar.xz) = 976186da64c67dd231b284e084a0e369c038f3d085c40571ec4be09d0df4d21f
+SHA512 (rust-1.71.1-riscv64gc-unknown-netbsd.tar.xz) = b2622caedd23f8c0f128a190be1dd6afe21e2999e242125c135cb5271f7e26f22b391bc2266743a36400637d1db593ab599658c9c9f50e727f2142952b179980
+Size (rust-1.71.1-riscv64gc-unknown-netbsd.tar.xz) = 166366880 bytes
+BLAKE2s (rust-1.71.1-sparc64-unknown-netbsd.tar.xz) = 9908032ee6e2a7da90802a9480fe382d21418cd69684fd4b658614fdc47c0ef4
+SHA512 (rust-1.71.1-sparc64-unknown-netbsd.tar.xz) = d8845addf57f8579d0c04a545f08093d83703608b53bccf9f52f8810874229bf7b61e1e0f5da4e83c13c3157b3308fbfe222589812549b8e434c1800e9d6bd4e
+Size (rust-1.71.1-sparc64-unknown-netbsd.tar.xz) = 152926364 bytes
+BLAKE2s (rust-1.71.1-x86_64-apple-darwin.tar.gz) = 7673e6ff0a5007737bc9f28461e9c3d3c06a99d988712451f0dc8c8ef0822530
+SHA512 (rust-1.71.1-x86_64-apple-darwin.tar.gz) = eb1631ef866d8686da968c56efc0ba0c668894374d0238c69e8d04653b67bd5e6ad56d50fbd3fae5b145447193a853c21caf6357a1491f21bb99e26d5224f08a
+Size (rust-1.71.1-x86_64-apple-darwin.tar.gz) = 321540761 bytes
+BLAKE2s (rust-1.71.1-x86_64-unknown-freebsd.tar.gz) = 3cd8834f1c8a91a41961b3027e36c999dd8ef93d27a825f8f2066981ffe322d5
+SHA512 (rust-1.71.1-x86_64-unknown-freebsd.tar.gz) = 5dd02df70767b82b1c2cfe0c74af1f09861d5e3fb2d92fb52c190826ad92600893e8548828da10def427271099942131f616da54fc52d03068dfa8ca61c07af7
+Size (rust-1.71.1-x86_64-unknown-freebsd.tar.gz) = 304235109 bytes
+BLAKE2s (rust-1.71.1-x86_64-unknown-linux-gnu.tar.gz) = b0f5c2511b6328543bb222196c6704c3e6095945f9d9b95717716ea702610460
+SHA512 (rust-1.71.1-x86_64-unknown-linux-gnu.tar.gz) = 180e72544b3fc4da95da6bbd0006208760152cb2021b679747f9c4c148a5fced83847830a6ab3dc389d2c4962fdaa3ee2f1242dfc8b12d1d27e9cda5fc1a780c
+Size (rust-1.71.1-x86_64-unknown-linux-gnu.tar.gz) = 342950576 bytes
+BLAKE2s (rust-1.71.1-x86_64-unknown-netbsd.tar.xz) = d4c41367faab3da2da96f76d80f497e7e533fe3af212385338c1d34ef586e39a
+SHA512 (rust-1.71.1-x86_64-unknown-netbsd.tar.xz) = 358f9c60b34841f134eff8fb6b361f725d320de38fb1eb5cf84bb35242161fa3680e4c24321f785c6196b83961052af7d4d801a01adbc6517b2d49dcc7123089
+Size (rust-1.71.1-x86_64-unknown-netbsd.tar.xz) = 148654268 bytes
+BLAKE2s (rust-std-1.71.1-aarch64-apple-darwin.tar.gz) = 319eb10db45b1ac99121fa7410aa7814a857654f5d099e58273c4552331ac27f
+SHA512 (rust-std-1.71.1-aarch64-apple-darwin.tar.gz) = deca1a7a16b44d4930b5ea7ad2d4a5aad2ce47b20c82d70937a1cb68ab8e9c0745bee7fb2329db23ea010bdb428c4cc5af99375fe937b58f0a8f5fdf836bb84d
+Size (rust-std-1.71.1-aarch64-apple-darwin.tar.gz) = 39702702 bytes
+BLAKE2s (rust-std-1.71.1-aarch64-unknown-linux-gnu.tar.gz) = 5e45ae1ba3144579005da413e52b21f195fbbd2bad0e381b23fdb997a4b7d965
+SHA512 (rust-std-1.71.1-aarch64-unknown-linux-gnu.tar.gz) = 85f0fce8c857704f18d98d52746c17e39c1523f13e4b5907ee56281fbf59149ccedece5ad648ab3af0339a139ab88510344d965f1095a4e1560ca046b4dba95c
+Size (rust-std-1.71.1-aarch64-unknown-linux-gnu.tar.gz) = 63630929 bytes
+BLAKE2s (rust-std-1.71.1-aarch64-unknown-netbsd.tar.xz) = b0dac529dcc2df7d9d18ccf17255ab1d6a3c78e34a64b3eed7f5225dbe02fdce
+SHA512 (rust-std-1.71.1-aarch64-unknown-netbsd.tar.xz) = b945d370eb5c112bea47aa0bb223a2f2d2b10a3ede2def01e39ebcb55096fe757b95107481dee2224d9c2c7426c5e611b1e652b3deec776bf018ac62196f2f51
+Size (rust-std-1.71.1-aarch64-unknown-netbsd.tar.xz) = 22691668 bytes
+BLAKE2s (rust-std-1.71.1-aarch64_be-unknown-netbsd.tar.xz) = eac96243338e84b9283d85dc47421dddeb7ec53f8dcabd62bb0afbb15a8bf87a
+SHA512 (rust-std-1.71.1-aarch64_be-unknown-netbsd.tar.xz) = 0f1fadc48eea8612e40200b948651f7eaec03680f3b40a3837cf465922637b4f0e9ccad7e9044a03b14e1e7362a63c9e54c4a369ae1541ea5c9bf8f03893a9fe
+Size (rust-std-1.71.1-aarch64_be-unknown-netbsd.tar.xz) = 22742624 bytes
+BLAKE2s (rust-std-1.71.1-arm-unknown-linux-gnueabihf.tar.gz) = d6bf37d177e5bc0223e390603b21cc64e83a5a09ff8683d43d3ae55783f4df40
+SHA512 (rust-std-1.71.1-arm-unknown-linux-gnueabihf.tar.gz) = b4fb4c40bf0c21ed4c3d5f3e88240c7601aeb360f4c5f0c9c9acd2936a9f12683c11a21ff938abd4f63a721758083cfdf4ed26045ead139ca87747d8af0c8aec
+Size (rust-std-1.71.1-arm-unknown-linux-gnueabihf.tar.gz) = 36748291 bytes
+BLAKE2s (rust-std-1.71.1-armv6-unknown-netbsd-eabihf.tar.xz) = b82473693d6731e2b0b9ee97ba118a5a77ed5d89312b73d7906cd124b6671f93
+SHA512 (rust-std-1.71.1-armv6-unknown-netbsd-eabihf.tar.xz) = cf22e8d9a16ad4fc98d5184d564807cf1b8b2188e98cb3449207f68d011613eebccd720e74652fae64e7cfdbad2ff88b8f1960d77d397456fe12ca9b6f89dc1c
+Size (rust-std-1.71.1-armv6-unknown-netbsd-eabihf.tar.xz) = 21086440 bytes
+BLAKE2s (rust-std-1.71.1-armv7-unknown-linux-gnueabihf.tar.gz) = 405d64a88a7c876b625894fe14d116a5726223cb9a1747e35bd06c6979b74cbc
+SHA512 (rust-std-1.71.1-armv7-unknown-linux-gnueabihf.tar.gz) = bd85456329579a34241950f9de629288e1954162744485a02fe67bc4a35fccc18ff72987d44fd2bac0be9ddab2511cad4356eb56c20cfe1b66b5a381659c701f
+Size (rust-std-1.71.1-armv7-unknown-linux-gnueabihf.tar.gz) = 38255203 bytes
+BLAKE2s (rust-std-1.71.1-armv7-unknown-netbsd-eabihf.tar.xz) = 8a694cb3dbc2297163e6f2327c5102119906ba659a83901a9546249c72f1209d
+SHA512 (rust-std-1.71.1-armv7-unknown-netbsd-eabihf.tar.xz) = ed062c7a3163604edb5844ea1e5ae8a5373af04b681d55bb66fe34723a53075d0796a2fa6b1cf7e8a5504378025605fae7484a49387665a452f668c1afc123e9
+Size (rust-std-1.71.1-armv7-unknown-netbsd-eabihf.tar.xz) = 22100492 bytes
+BLAKE2s (rust-std-1.71.1-i586-unknown-netbsd.tar.xz) = 8abe78dfa98a7a33c51d6ea680c6598d4596eaab7aecc74d98a2c6abcd61611f
+SHA512 (rust-std-1.71.1-i586-unknown-netbsd.tar.xz) = 145d93e78cb1fe939d2e171f616554d868e63a4d0877541d0051acdd5b5efda0d0e6d1c18828f2bbd22c20773b78caa6503997bb0d4a6ac6ff427cb16027f1e8
+Size (rust-std-1.71.1-i586-unknown-netbsd.tar.xz) = 23140008 bytes
+BLAKE2s (rust-std-1.71.1-i686-unknown-linux-gnu.tar.gz) = 5549b2d3d2bce20725022a38a57b1843400160fbb71169a9f57012c829f43d2c
+SHA512 (rust-std-1.71.1-i686-unknown-linux-gnu.tar.gz) = 9c574b2690a6d64d0274b984802d022b213b87dad9f84abdc0692c7b013f17c52db63d80e8bd12589c77a9e6c00d3f8f24578527e71c90e7701c5fe71cbff443
+Size (rust-std-1.71.1-i686-unknown-linux-gnu.tar.gz) = 40407874 bytes
+BLAKE2s (rust-std-1.71.1-powerpc-unknown-netbsd90.tar.xz) = 3589200908db886ffbbf57c1a01c7cf565afc82f9ddc8be1bde0e4555a59ab54
+SHA512 (rust-std-1.71.1-powerpc-unknown-netbsd90.tar.xz) = 3dccf3432d429efe6f2e4589f851cb570dbd499958d899e51020cccd790af4eb3e78172695a06ef33778706e89a243167b0d28327c6fa27195b30e2b541ef0fe
+Size (rust-std-1.71.1-powerpc-unknown-netbsd90.tar.xz) = 21207860 bytes
+BLAKE2s (rust-std-1.71.1-riscv64gc-unknown-netbsd.tar.xz) = 3889b10498d0762a16238cdf88bce291ccfca02f256dece9fe8d6821787b4a90
+SHA512 (rust-std-1.71.1-riscv64gc-unknown-netbsd.tar.xz) = d1395c330607795d8f41a20e97d62ae26c45dff7417b194e56a38ba087c234697fcb484ca2d4fb296de21383236020281bcaf30ed6859075a8b1df64121409c9
+Size (rust-std-1.71.1-riscv64gc-unknown-netbsd.tar.xz) = 21331396 bytes
+BLAKE2s (rust-std-1.71.1-sparc64-unknown-netbsd.tar.xz) = 283fab8237f8a05029725a7a2d4493b4e987c8d67a54ea4dd60484658a23f45e
+SHA512 (rust-std-1.71.1-sparc64-unknown-netbsd.tar.xz) = c5be56067dc2f954ff2f11cd00991cc29e6e190402baec39c1ccff95df87201a51362ca5dec952c8c160b3c433e6dd79b03debd470612b6901a2e21ae9090995
+Size (rust-std-1.71.1-sparc64-unknown-netbsd.tar.xz) = 21070512 bytes
+BLAKE2s (rust-std-1.71.1-x86_64-apple-darwin.tar.gz) = 851e56fb33bbcbe6d80265b7d6b8803c0831cfdddf69bf60179d4f49cb8336aa
+SHA512 (rust-std-1.71.1-x86_64-apple-darwin.tar.gz) = 3798b36a4ad82a8e2cfaa0be8c798de61c18a9adc2d10e203f4fd6c7ce29626a0057b55110c189db585c1dc16c250b00c8678160c591072bfb7c76b54cf10a96
+Size (rust-std-1.71.1-x86_64-apple-darwin.tar.gz) = 42030419 bytes
+BLAKE2s (rust-std-1.71.1-x86_64-unknown-freebsd.tar.gz) = 614835ea29e53e81290cc0f338dfecd014fce7398e623b5567c3c47c54fca946
+SHA512 (rust-std-1.71.1-x86_64-unknown-freebsd.tar.gz) = 894bd1b544341963f6e774dcf43dcee33639b53ba0482c75cc5704b3c1090feca0857ac8ac9057d9fa4a66962b26beb27eb47b93a723bf669a985b85aa287a70
+Size (rust-std-1.71.1-x86_64-unknown-freebsd.tar.gz) = 43382866 bytes
+BLAKE2s (rust-std-1.71.1-x86_64-unknown-linux-gnu.tar.gz) = d3ba6daeb449a6750f6c6094b7d7e3273cb7f9c01b311a05b5fb3e3f99754421
+SHA512 (rust-std-1.71.1-x86_64-unknown-linux-gnu.tar.gz) = f99539b5c1c7861a0b14df75cc1cf69bf96a890fc776ab12aa295c294edf931c827a5b01bbb3296d8c7a6dca48cfd71e2e86447b8b589097ee82b23cad0c39e1
+Size (rust-std-1.71.1-x86_64-unknown-linux-gnu.tar.gz) = 45109587 bytes
+BLAKE2s (rust-std-1.71.1-x86_64-unknown-netbsd.tar.xz) = 9404f67a7fd8c69138afbc1e96dcb607358b2491a6f1e729f92046c1c7408e84
+SHA512 (rust-std-1.71.1-x86_64-unknown-netbsd.tar.xz) = f83aa6fec343aae1f1a66df07be137a0cea90fd1784fe05155c25fff5a7f24d1f743ccdf77d9925ac2222d3e7681c18fde807f0161a0348a72452257dbc64cca
+Size (rust-std-1.71.1-x86_64-unknown-netbsd.tar.xz) = 24557152 bytes
+BLAKE2s (rustc-1.72.0-src.tar.gz) = c485fb310ec4c8c694069101058a12abbcce61c46249bbeb329b6bb0f9dba1c0
+SHA512 (rustc-1.72.0-src.tar.gz) = 8c134533229ea9ccf1226b021b7c8c531fba1e43609fb549b8f8e4c2d3eacdbe521d1b1c659abdc17f2711eb44303d0820b08546089e3a23fe39ce84265cf648
+Size (rustc-1.72.0-src.tar.gz) = 271796310 bytes
 SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 62819cf6db7d2e3e77d433fe883046c28fc20d91
-SHA1 (patch-compiler_rustc__llvm_build.rs) = 190ff5e38c3a48bb4f11f4f8e5636bdeb36a0230
-SHA1 (patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = c81d0d288699056ae45569f8d0a1c9bb08153ec4
+SHA1 (patch-compiler_rustc__llvm_build.rs) = 5d0478dc06243c74aec5dcd516e13521269b1ade
 SHA1 (patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs) = 866d01e7c1f3d8dd7d26f2fdc4360df273ed401f
 SHA1 (patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs) = a0fb5338d0020d3ee1266d1ed1361e7bf2eea611
 SHA1 (patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs) = fc78fc681f170be9e3b6e3c823a6bd62da742cbd
-SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = effb8250d07dc9ed1d5735060c528a46c422c10e
+SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = f49f8f8e36db396f29ea1c908ed61fe831e0d4cd
 SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = bc73a140d7b1d3ced12ad2564be4edce5b9579f0
-SHA1 (patch-compiler_rustc__target_src_spec_riscv64gc__unknown__netbsd.rs) = 56abcfc73bc61960f7c680c856f54b50ec053f30
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 32ab8ea3809cd4f6fee9fc0df5db47d76ccbd9d2
+SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 1ab343595e65ff6348f83cffc30e53d764485ff8
 SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 56621c10310914672a851cf5dfbf343a9ff4e1be
-SHA1 (patch-library_core_src_ffi_mod.rs) = 7678d57edc05a66abca73d4676cbb7bd588741bc
-SHA1 (patch-library_portable-simd_crates_core__simd_src_swizzle__dyn.rs) = c19fb4c8a92c2e072eab06ec6db46331b85fd868
 SHA1 (patch-library_std_src_sys_unix_mod.rs) = f8669d680f169137ac2891af2977909619366a97
 SHA1 (patch-library_std_src_sys_unix_thread.rs) = 36a3085500ecbb34f8ecc08388c164da54bdf5d4
 SHA1 (patch-library_std_src_sys_unix_thread__parking_netbsd.rs) = c29eb1cf074766d34bd2b8c348ce29c6ae2ba163
-SHA1 (patch-src_bootstrap_bootstrap.py) = db024675298542bfe22fa782c32ef280f361d07e
-SHA1 (patch-src_bootstrap_builder.rs) = 98daac929d2bbc9c475c39d225d50d37491528a8
+SHA1 (patch-src_bootstrap_bootstrap.py) = 00e11eb1f8e8534440bf3760837be6058e800c83
+SHA1 (patch-src_bootstrap_builder.rs) = 888152405dcd09d319ae724526356fd0bd78b5d6
 SHA1 (patch-src_bootstrap_compile.rs) = 71b58c0e14b820dafc48ce087292267e7d2eed0f
 SHA1 (patch-src_bootstrap_lib.rs) = f6918e0939b6fe63ae9b524d4c809375149efb15
-SHA1 (patch-src_bootstrap_llvm.rs) = 49cbd9c695bd1f6c635300490e69baefcc80323c
+SHA1 (patch-src_bootstrap_llvm.rs) = afa4ec0b26aaf9c590859969b08a485e77322371
 SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
 SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = e1b2eb2f0b3cf1cf87b443656ae306b3242f6b12
 SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = cb011fc19957883c01725797f7c85ed1b20f96f1
 SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 39d76e6659143d154ae690ac70781b698a2023d8
 SHA1 (patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h) = 67e93f198258a5b59580be20ff47ce58b146c5d5
 SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2587c2f4d11ad8f75bf8a16de625135b26bacc15
-SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = b0a196b616d97aafcc0ef869e63798155e52f6cd
+SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = e1af7fde97416e0a269ee34efd37f4f47fcf7a95
 SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 60713699c968f3e389f486e796009d31a5048906
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = ca769db07986ded26d92957e1055961895def546
+SHA1 (patch-src_tools_rust-installer_install-template.sh) = 28fbfd37793c8438a603cb0e19483bd5b9138e4b
 SHA1 (patch-vendor_backtrace_src_symbolize_gimli.rs) = b93148ff72a60a17c6a444f2616386c40d872153
 SHA1 (patch-vendor_backtrace_src_symbolize_gimli_elf.rs) = 308538090d9ce11d206d6eef0e675581a1fc6e80
 SHA1 (patch-vendor_cc-1.0.73_src_lib.rs) = 98acea9fb98898f63bbb0f6555df5e4b15da2b85
-SHA1 (patch-vendor_cc-1.0.77_src_lib.rs) = 19d5608a2afa6d325bc1f47a48551797a1be8453
-SHA1 (patch-vendor_cc_src_lib.rs) = b03998072fda91995e9aa5e81bb590da99a4c004
+SHA1 (patch-vendor_cc_src_lib.rs) = 58b29cb023ecf941c2d6534bfdc80f1193f3c84a
 SHA1 (patch-vendor_crossbeam-epoch_no__atomic.rs) = a493d0b57a22b9a83c843a1076c91b6d36d2e007
 SHA1 (patch-vendor_crossbeam-utils-0.8.14-no__atomic.rs) = 2053e2cffcb2981435c94df04d0e3f333fa77c07
+SHA1 (patch-vendor_crossbeam-utils-0.8.15_no__atomic.rs) = b6ce37c82245a570215c941997a9e143f6e06ac7
 SHA1 (patch-vendor_crossbeam-utils_no__atomic.rs) = 26f797159530bc2c5e1be83a225a13e5458879b2
 SHA1 (patch-vendor_libc-0.2.138_src_unix_bsd_netbsdlike_netbsd_mips.rs) = eda31064a08cba20fc0652b669e419871875ae29
 SHA1 (patch-vendor_libc-0.2.138_src_unix_bsd_netbsdlike_netbsd_mod.rs) = e9c180ddbbd06ba2e0701bec11f1e6c954c0a0d4
 SHA1 (patch-vendor_libc-0.2.138_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 24ebcb044aeefec3415323b77ac25805a98b296e
-SHA1 (patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mips.rs) = aa7d06c87a6826e7187c57a72bf27ecc55ab3e8e
-SHA1 (patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mod.rs) = c134584dadea923a33140474a30b0c55207d59d1
-SHA1 (patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 77b58e2e1e136ad9913d2304bc64b9958e852227
 SHA1 (patch-vendor_libc-0.2.140_src_unix_bsd_netbsdlike_netbsd_mips.rs) = 998160de7640c4567bf042dfa7a74a4555b0568b
 SHA1 (patch-vendor_libc-0.2.140_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 7a92e3c04a7e18586e89ee8907758dc2fb81a192
 SHA1 (patch-vendor_libc-0.2.140_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 74b6353687cdc029bcdc9110b7b1e96e9ffb8e43
-SHA1 (patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mips.rs) = f094140758dfe099dae79a97d7d9cf51d8a9a848
-SHA1 (patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mod.rs) = b7bedbf882404bba80ef14c03da6a38e8b6930e9
-SHA1 (patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 207b2522a8533a344458e6433fe41d50157bf472
+SHA1 (patch-vendor_libc-0.2.140_src_unix_solarish_mod.rs) = c3db9af7ebcc4356015159c170603b620c21dde0
+SHA1 (patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mips.rs) = b99ebc7233690df5dd3fa7674d86ec08831eec59
+SHA1 (patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mod.rs) = d9182de86efceefaad588ff053a4ce2210292378
+SHA1 (patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 511e5d97083638352d77a463582aca8812602b45
+SHA1 (patch-vendor_libc-0.2.141_src_unix_solarish_mod.rs) = 07422c865df276a65b99cd3aaf4c2fdc96260625
+SHA1 (patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mips.rs) = 4b9ff57adb8d67f467eb36c023548afef8b1ed74
+SHA1 (patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mod.rs) = f008995009548ec2afb733f5fcbfc6a076316c3d
+SHA1 (patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 66b4cd0853154e6a8fcd009a06ebbae5a1c98f82
+SHA1 (patch-vendor_libc-0.2.146_src_unix_solarish_mod.rs) = 17884a63798eee6d68771faa8d9592525aa2a3bb
 SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs) = 09326b70d7821b1742285c464c70b347400191d7
 SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 50df059ffa3426a73e6978fe22c6e053eed8dce4
 SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 29e7a98dff00e092b89428a8ed464da503cba60d
diff --git a/rust/do-cross.mk b/rust/do-cross.mk
index 34a9aef6f1..450db35ee1 100644
--- a/rust/do-cross.mk
+++ b/rust/do-cross.mk
@@ -12,7 +12,7 @@ SHORT_TARGETS+=		powerpc
 SHORT_TARGETS+=		arm64
 SHORT_TARGETS+=		arm64_be
 SHORT_TARGETS+=		i386
-SHORT_TARGETS+=		mipsel	# produces mips32 (not mips1) executables
+#SHORT_TARGETS+=		mipsel	# produces mips32 (not mips1) executables
 SHORT_TARGETS+=		riscv64
 
 # Conditional local overrides of ROOT.* variables:
diff --git a/rust/patches/patch-compiler_rustc__llvm_build.rs b/rust/patches/patch-compiler_rustc__llvm_build.rs
index a3eee9e988..6fedc0aaee 100644
--- a/rust/patches/patch-compiler_rustc__llvm_build.rs
+++ b/rust/patches/patch-compiler_rustc__llvm_build.rs
@@ -9,7 +9,7 @@ https://github.com/rust-lang/rust/pull/104572
 
 --- compiler/rustc_llvm/build.rs.orig	2021-11-01 07:17:29.000000000 +0000
 +++ compiler/rustc_llvm/build.rs
-@@ -247,10 +247,19 @@ fn main() {
+@@ -248,10 +248,19 @@ fn main() {
      {
          // 32-bit targets need to link libatomic.
          println!("cargo:rustc-link-lib=atomic");
@@ -29,7 +29,7 @@ https://github.com/rust-lang/rust/pull/104572
          println!("cargo:rustc-link-lib=z");
      }
      cmd.args(&components);
-@@ -337,7 +346,13 @@ fn main() {
+@@ -339,7 +348,13 @@ fn main() {
          "c++"
      } else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
          // NetBSD uses a separate library when relocation is required
diff --git a/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 0fe1c93254..0000000000
--- a/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
-Add aarch64_be NetBSD target.
-
---- compiler/rustc_target/src/spec/aarch64_be_unknown_netbsd.rs.orig	2021-09-10 09:47:35.334562996 +0000
-+++ compiler/rustc_target/src/spec/aarch64_be_unknown_netbsd.rs
-@@ -0,0 +1,17 @@
-+use crate::abi::Endian;
-+use crate::spec::{Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    Target {
-+        llvm_target: "aarch64_be-unknown-netbsd".into(),
-+        pointer_width: 64,
-+        data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
-+        arch: "aarch64".into(),
-+        options: TargetOptions {
-+            mcount: "__mcount".into(),
-+            max_atomic_width: Some(128),
-+            endian: Endian::Big,
-+            ..super::netbsd_base::opts()
-+        },
-+    }
-+}
diff --git a/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
index bc6de18830..05f500b8da 100644
--- a/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
+++ b/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
@@ -1,21 +1,15 @@
 $NetBSD$
 
-Add i586(pentium), aarch64_be, mipsel and riscv64gc NetBSD targets.
+Add i586(pentium) and mipsel NetBSD targets.
 
 --- compiler/rustc_target/src/spec/mod.rs.orig	2021-03-23 16:15:10.000000000 +0000
 +++ compiler/rustc_target/src/spec/mod.rs
-@@ -1100,10 +1100,14 @@ supported_targets! {
-     ("x86_64-unknown-openbsd", x86_64_unknown_openbsd),
- 
-     ("aarch64-unknown-netbsd", aarch64_unknown_netbsd),
-+    ("aarch64_be-unknown-netbsd", aarch64_be_unknown_netbsd),
+@@ -1324,6 +1324,8 @@ supported_targets! {
      ("armv6-unknown-netbsd-eabihf", armv6_unknown_netbsd_eabihf),
      ("armv7-unknown-netbsd-eabihf", armv7_unknown_netbsd_eabihf),
      ("i686-unknown-netbsd", i686_unknown_netbsd),
 +    ("i586-unknown-netbsd", i586_unknown_netbsd),
 +    ("mipsel-unknown-netbsd", mipsel_unknown_netbsd),
      ("powerpc-unknown-netbsd", powerpc_unknown_netbsd),
-+    ("riscv64gc-unknown-netbsd", riscv64gc_unknown_netbsd),
+     ("riscv64gc-unknown-netbsd", riscv64gc_unknown_netbsd),
      ("sparc64-unknown-netbsd", sparc64_unknown_netbsd),
-     ("x86_64-unknown-netbsd", x86_64_unknown_netbsd),
- 
diff --git a/rust/patches/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__netbsd.rs b/rust/patches/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__netbsd.rs
deleted file mode 100644
index f582664e2e..0000000000
--- a/rust/patches/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__netbsd.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD$
-
-Target spec for NetBSD/riscv64.
-
---- compiler/rustc_target/src/spec/riscv64gc_unknown_netbsd.rs.orig	2023-07-02 04:17:02.369254026 +0000
-+++ compiler/rustc_target/src/spec/riscv64gc_unknown_netbsd.rs	2023-07-02 18:24:04.339160957 +0000
-@@ -0,0 +1,19 @@
-+use crate::spec::{CodeModel, Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    Target {
-+        llvm_target: "riscv64-unknown-netbsd".into(),
-+        pointer_width: 64,
-+        data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
-+        arch: "riscv64".into(),
-+        options: TargetOptions {
-+            code_model: Some(CodeModel::Medium),
-+            cpu: "generic-rv64".into(),
-+            features: "+m,+a,+f,+d,+c".into(),
-+            llvm_abiname: "lp64d".into(),
-+            max_atomic_width: Some(64),
-+            mcount: "__mcount".into(),
-+            ..super::netbsd_base::opts()
-+        },
-+    }
-+}
diff --git a/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
index 3f94f6b483..0ed9af7822 100644
--- a/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
+++ b/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
@@ -1,14 +1,14 @@
 $NetBSD$
 
-Add NetBSD to the family who uses dl_iterate_phdr().
+Add NetBSD to the family who is in the unix class.
 
 --- library/backtrace/src/symbolize/gimli.rs.orig	2022-04-04 09:41:26.000000000 +0000
 +++ library/backtrace/src/symbolize/gimli.rs
-@@ -177,6 +177,7 @@ cfg_if::cfg_if! {
-             target_os = "linux",
-             target_os = "fuchsia",
-             target_os = "freebsd",
-+            target_os = "netbsd",
-             target_os = "openbsd",
-             all(target_os = "android", feature = "dl_iterate_phdr"),
-         ),
+@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
+         target_os = "ios",
+         target_os = "linux",
+         target_os = "macos",
++        target_os = "netbsd",
+         target_os = "openbsd",
+         target_os = "solaris",
+         target_os = "illumos",
diff --git a/rust/patches/patch-library_core_src_ffi_mod.rs b/rust/patches/patch-library_core_src_ffi_mod.rs
deleted file mode 100644
index fdd9bfe53f..0000000000
--- a/rust/patches/patch-library_core_src_ffi_mod.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD$
-
-NetBSD/riscv64 also has unsigned chars.
-
---- library/core/src/ffi/mod.rs.orig	2023-05-31 19:28:10.000000000 +0000
-+++ library/core/src/ffi/mod.rs
-@@ -132,7 +132,12 @@ mod c_char_definition {
-             ),
-             all(
-                 target_os = "netbsd",
--                any(target_arch = "aarch64", target_arch = "arm", target_arch = "powerpc")
-+                any(
-+		    target_arch = "aarch64",
-+                    target_arch = "arm",
-+                    target_arch = "powerpc",
-+                    target_arch = "riscv64"
-+                )
-             ),
-             all(
-                 target_os = "vxworks",
diff --git a/rust/patches/patch-library_portable-simd_crates_core__simd_src_swizzle__dyn.rs b/rust/patches/patch-library_portable-simd_crates_core__simd_src_swizzle__dyn.rs
deleted file mode 100644
index d4966fbb7c..0000000000
--- a/rust/patches/patch-library_portable-simd_crates_core__simd_src_swizzle__dyn.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/portable-simd/pull/348/files
-to fix build on big-endian arm / arm64.
-
---- library/portable-simd/crates/core_simd/src/swizzle_dyn.rs.orig	2023-08-03 12:13:07.000000000 +0000
-+++ library/portable-simd/crates/core_simd/src/swizzle_dyn.rs
-@@ -16,9 +16,9 @@ where
-     #[inline]
-     pub fn swizzle_dyn(self, idxs: Simd<u8, N>) -> Self {
-         #![allow(unused_imports, unused_unsafe)]
--        #[cfg(target_arch = "aarch64")]
-+        #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-         use core::arch::aarch64::{uint8x8_t, vqtbl1q_u8, vtbl1_u8};
--        #[cfg(all(target_arch = "arm", target_feature = "v7", target_feature = "neon"))]
-+        #[cfg(all(target_arch = "arm", target_feature = "v7", target_feature = "neon", target_endian = "little"))]
-         use core::arch::arm::{uint8x8_t, vtbl1_u8};
-         #[cfg(target_arch = "wasm32")]
-         use core::arch::wasm32 as wasm;
-@@ -29,13 +29,24 @@ where
-         // SAFETY: Intrinsics covered by cfg
-         unsafe {
-             match N {
--                #[cfg(target_feature = "neon")]
-+                #[cfg(all(
-+                    any(
-+                        target_arch = "aarch64",
-+                        all(target_arch = "arm", target_feature = "v7")
-+                    ),
-+                    target_feature = "neon",
-+                    target_endian = "little"
-+                ))]
-                 8 => transize(vtbl1_u8, self, idxs),
-                 #[cfg(target_feature = "ssse3")]
-                 16 => transize(x86::_mm_shuffle_epi8, self, idxs),
-                 #[cfg(target_feature = "simd128")]
-                 16 => transize(wasm::i8x16_swizzle, self, idxs),
--                #[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
-+                #[cfg(all(
-+                    target_arch = "aarch64",
-+                    target_feature = "neon",
-+                    target_endian = "little"
-+                ))]
-                 16 => transize(vqtbl1q_u8, self, idxs),
-                 #[cfg(all(target_feature = "avx2", not(target_feature = "avx512vbmi")))]
-                 32 => transize_raw(avx2_pshufb, self, idxs),
diff --git a/rust/patches/patch-src_bootstrap_bootstrap.py b/rust/patches/patch-src_bootstrap_bootstrap.py
index 2f6b1b974b..7bf70ddfd9 100644
--- a/rust/patches/patch-src_bootstrap_bootstrap.py
+++ b/rust/patches/patch-src_bootstrap_bootstrap.py
@@ -16,15 +16,7 @@ Handle earmv[67]hf for NetBSD.
  
      # Consider the direct transformation first and then the special cases
      if kernel in kerneltype_mapper:
-@@ -323,6 +327,7 @@ def default_build_triple(verbose):
-     cputype_mapper = {
-         'BePC': 'i686',
-         'aarch64': 'aarch64',
-+        'aarch64eb': 'aarch64',
-         'amd64': 'x86_64',
-         'arm64': 'aarch64',
-         'i386': 'i686',
-@@ -361,10 +366,16 @@ def default_build_triple(verbose):
+@@ -362,10 +366,16 @@ def default_build_triple(verbose):
              kernel = 'linux-androideabi'
          else:
              kernel += 'eabihf'
diff --git a/rust/patches/patch-src_bootstrap_builder.rs b/rust/patches/patch-src_bootstrap_builder.rs
index 6d772a0ffe..c967d11c06 100644
--- a/rust/patches/patch-src_bootstrap_builder.rs
+++ b/rust/patches/patch-src_bootstrap_builder.rs
@@ -2,11 +2,11 @@ $NetBSD: patch-src_bootstrap_builder.rs,v 1.11 2020/07/06 13:56:32 he Exp $
 
 Use @PREFIX@, not $ORIGIN in rpath.
 
---- src/bootstrap/builder.rs.orig	2022-12-12 16:02:12.000000000 +0000
+--- src/bootstrap/builder.rs.orig	2023-08-23 19:50:10.000000000 +0000
 +++ src/bootstrap/builder.rs
-@@ -1710,7 +1710,7 @@ impl<'a> Builder<'a> {
+@@ -1612,7 +1612,7 @@ impl<'a> Builder<'a> {
                  Some("-Wl,-rpath,@loader_path/../lib")
-             } else if !target.contains("windows") {
+             } else if !target.contains("windows") && !target.contains("aix") {
                  rustflags.arg("-Clink-args=-Wl,-z,origin");
 -                Some("-Wl,-rpath,$ORIGIN/../lib")
 +                Some("-Wl,-rpath,@PREFIX@/lib")
diff --git a/rust/patches/patch-src_bootstrap_llvm.rs b/rust/patches/patch-src_bootstrap_llvm.rs
index 5d44f968fe..0f3d31b6de 100644
--- a/rust/patches/patch-src_bootstrap_llvm.rs
+++ b/rust/patches/patch-src_bootstrap_llvm.rs
@@ -1,15 +1,21 @@
 $NetBSD$
 
 Add NetBSD to the list of riscv's which don't need -latomic.
+Try to force use of -latomic on mips* on NetBSD.
 
---- src/bootstrap/llvm.rs.orig	2023-05-31 19:28:10.000000000 +0000
+--- src/bootstrap/llvm.rs.orig	2023-08-03 12:13:07.000000000 +0000
 +++ src/bootstrap/llvm.rs
-@@ -379,7 +379,7 @@ impl Step for Llvm {
-             cfg.define("LLVM_LINK_LLVM_DYLIB", "ON");
+@@ -396,6 +396,13 @@ impl Step for Llvm {
+             ldflags.shared.push(" -latomic");
          }
  
--        if target.starts_with("riscv") && !target.contains("freebsd") && !target.contains("openbsd")
-+        if target.starts_with("riscv") && !target.contains("freebsd") && !target.contains("openbsd") && !target.contains("netbsd")
-         {
-             // RISC-V GCC erroneously requires linking against
-             // `libatomic` when using 1-byte and 2-byte C++
++        if target.starts_with("mips") && target.contains("netbsd")
++        {
++            // try to force this here, should possibly go elsewhere...
++            ldflags.exe.push(" -latomic");
++            ldflags.shared.push(" -latomic");
++        }
++
+         if target.contains("msvc") {
+             cfg.define("LLVM_USE_CRT_DEBUG", "MT");
+             cfg.define("LLVM_USE_CRT_RELEASE", "MT");
diff --git a/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
index 9c710dcc11..ac9ad7239c 100644
--- a/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
+++ b/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
@@ -5,8 +5,8 @@ https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_increment
 
 --- src/tools/cargo/src/cargo/core/profiles.rs.orig	2023-07-12 03:33:05.000000000 +0000
 +++ src/tools/cargo/src/cargo/core/profiles.rs
-@@ -683,6 +683,9 @@ impl Profile {
-             debuginfo: DebugInfo::Explicit(TomlDebugInfo::Full),
+@@ -681,6 +681,9 @@ impl Profile {
+             debuginfo: DebugInfo::Resolved(TomlDebugInfo::Full),
              debug_assertions: true,
              overflow_checks: true,
 +            #[cfg(target_arch = "sparc64")]
diff --git a/rust/patches/patch-src_tools_rust-installer_install-template.sh b/rust/patches/patch-src_tools_rust-installer_install-template.sh
index 85016c0455..e6f15d3a65 100644
--- a/rust/patches/patch-src_tools_rust-installer_install-template.sh
+++ b/rust/patches/patch-src_tools_rust-installer_install-template.sh
@@ -10,7 +10,7 @@ should do just fine.
 
 --- src/tools/rust-installer/install-template.sh.orig	2021-05-09 02:52:58.000000000 +0000
 +++ src/tools/rust-installer/install-template.sh
-@@ -15,20 +15,12 @@ set -u
+@@ -6,20 +6,12 @@ set -u
  init_logging() {
      local _abs_libdir="$1"
      local _logfile="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/install.log"
@@ -25,140 +25,140 @@ should do just fine.
      local _line="$1"
  
 -    if [ -n "${LOGFILE-}" -a -e "${LOGFILE-}" ]; then
--	echo "$_line" >> "$LOGFILE"
--	# Ignore errors, which may happen e.g. after the manifest dir is deleted
+-    echo "$_line" >> "$LOGFILE"
+-    # Ignore errors, which may happen e.g. after the manifest dir is deleted
 -    fi
  }
  
  msg() {
-@@ -442,8 +434,8 @@ uninstall_components() {
- 		    local _directive
- 		    while read _directive; do
+@@ -433,8 +425,8 @@ uninstall_components() {
+             local _directive
+             while read _directive; do
  
--			local _command=`echo $_directive | cut -f1 -d:`
--			local _file=`echo $_directive | cut -f2 -d:`
-+			local _command=${_directive%%:*}
-+			local _file=${_directive#*:}
+-            local _command=`echo $_directive | cut -f1 -d:`
+-            local _file=`echo $_directive | cut -f2 -d:`
++            local _command=${_directive%%:*}
++            local _file=${_directive#*:}
  
- 			# Sanity checks
- 			if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-@@ -549,8 +541,8 @@ install_components() {
- 	local _directive
- 	while read _directive; do
+             # Sanity checks
+             if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
+@@ -541,8 +533,8 @@ install_components() {
+     local _directive
+     while read _directive; do
  
--	    local _command=`echo $_directive | cut -f1 -d:`
--	    local _file=`echo $_directive | cut -f2 -d:`
-+	    local _command=${_directive%%:*}
-+	    local _file=${_directive#*:}
+-        local _command=`echo $_directive | cut -f1 -d:`
+-        local _file=`echo $_directive | cut -f2 -d:`
++        local _command=${_directive%%:*}
++        local _file=${_directive#*:}
  
- 	    # Sanity checks
- 	    if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-@@ -559,36 +551,24 @@ install_components() {
- 	    # Decide the destination of the file
- 	    local _file_install_path="$_dest_prefix/$_file"
+         # Sanity checks
+         if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
+@@ -551,36 +543,24 @@ install_components() {
+         # Decide the destination of the file
+         local _file_install_path="$_dest_prefix/$_file"
  
--	    if echo "$_file" | grep "^etc/" > /dev/null
--	    then
--		local _f="$(echo "$_file" | sed 's/^etc\///')"
--		_file_install_path="$CFG_SYSCONFDIR/$_f"
--	    fi
+-        if echo "$_file" | grep "^etc/" > /dev/null
+-        then
+-        local _f="$(echo "$_file" | sed 's/^etc\///')"
+-        _file_install_path="$CFG_SYSCONFDIR/$_f"
+-        fi
 -
--	    if echo "$_file" | grep "^bin/" > /dev/null
--	    then
--		local _f="$(echo "$_file" | sed 's/^bin\///')"
--		_file_install_path="$CFG_BINDIR/$_f"
--	    fi
+-        if echo "$_file" | grep "^bin/" > /dev/null
+-        then
+-        local _f="$(echo "$_file" | sed 's/^bin\///')"
+-        _file_install_path="$CFG_BINDIR/$_f"
+-        fi
 -
--	    if echo "$_file" | grep "^lib/" > /dev/null
--	    then
--		local _f="$(echo "$_file" | sed 's/^lib\///')"
--		_file_install_path="$CFG_LIBDIR/$_f"
--	    fi
+-        if echo "$_file" | grep "^lib/" > /dev/null
+-        then
+-        local _f="$(echo "$_file" | sed 's/^lib\///')"
+-        _file_install_path="$CFG_LIBDIR/$_f"
+-        fi
 -
--	    if echo "$_file" | grep "^share" > /dev/null
--	    then
--		local _f="$(echo "$_file" | sed 's/^share\///')"
--		_file_install_path="$CFG_DATADIR/$_f"
--	    fi
+-        if echo "$_file" | grep "^share" > /dev/null
+-        then
+-        local _f="$(echo "$_file" | sed 's/^share\///')"
+-        _file_install_path="$CFG_DATADIR/$_f"
+-        fi
 -
--	    if echo "$_file" | grep "^share/man/" > /dev/null
--	    then
--		local _f="$(echo "$_file" | sed 's/^share\/man\///')"
--		_file_install_path="$CFG_MANDIR/$_f"
--	    fi
+-        if echo "$_file" | grep "^share/man/" > /dev/null
+-        then
+-        local _f="$(echo "$_file" | sed 's/^share\/man\///')"
+-        _file_install_path="$CFG_MANDIR/$_f"
+-        fi
 -
-+	    case "$_file" in
-+		etc/*)
-+		    local _f=${_file#"etc/"}
-+		    _file_install_path="$CFG_DESTDIR_PREFIX/share/doc/cargo/$_f"
-+		    ;;
-+		bin/*)
-+		    local _f=${_file#"bin/"}
-+		    _file_install_path="$CFG_BINDIR/$_f"
-+		    ;;
-+		lib/*)
-+		    local _f=${_file#"lib/"}
-+		    _file_install_path="$CFG_LIBDIR/$_f"
-+		    ;;
-+		share/man/*)
-+		    local _f=${_file#"share/man/"}
-+		    _file_install_path="$CFG_MANDIR/$_f"
-+		    ;;
-+		share/doc/*)
++        case "$_file" in
++            etc/*)
++                local _f=${_file#"etc/"}
++                _file_install_path="$CFG_DESTDIR_PREFIX/share/doc/cargo/$_f"
++                ;;
++            bin/*)
++                local _f=${_file#"bin/"}
++                _file_install_path="$CFG_BINDIR/$_f"
++                ;;
++            lib/*)
++                local _f=${_file#"lib/"}
++                _file_install_path="$CFG_LIBDIR/$_f"
++                ;;
++            share/man/*)
++                local _f=${_file#"share/man/"}
++                _file_install_path="$CFG_MANDIR/$_f"
++                ;;
++            share/doc/*)
              # HACK: Try to support overriding --docdir.  Paths with the form
              # "share/doc/$product/" can be redirected to a single --docdir
              # path. If the following detects that --docdir has been specified
-@@ -599,14 +579,17 @@ install_components() {
+@@ -591,14 +571,17 @@ install_components() {
              # contents of those directories are _not_ disjoint. Since this feature
              # is almost entirely to support 'make install' anyway I don't expect
              # this problem to be a big deal in practice.
 -            if [ "$CFG_DOCDIR" != "<default>" ]
 -            then
--	        if echo "$_file" | grep "^share/doc/" > /dev/null
--	        then
--		    local _f="$(echo "$_file" | sed 's/^share\/doc\/[^/]*\///')"
--		    _file_install_path="$CFG_DOCDIR/$_f"
--	        fi
+-            if echo "$_file" | grep "^share/doc/" > /dev/null
+-            then
+-            local _f="$(echo "$_file" | sed 's/^share\/doc\/[^/]*\///')"
+-            _file_install_path="$CFG_DOCDIR/$_f"
+-            fi
 -            fi
-+		    if [ "$CFG_DOCDIR" != "<default>" ]; then
-+			local _f=${_file#"share/doc/"*/}
-+			_file_install_path="$CFG_DOCDIR/$_f"
-+		    fi
-+		    ;;
-+		share/*)
-+		    local _f=${_file#"share/"}
-+		    _file_install_path="$CFG_DATADIR/$_f"
-+		    ;;
-+	    esac
++                if [ "$CFG_DOCDIR" != "<default>" ]; then
++                    local _f=${_file#"share/doc/"*/}
++                    _file_install_path="$CFG_DOCDIR/$_f"
++                fi
++                ;;
++            share/*)
++                local _f=${_file#"share/"}
++                _file_install_path="$CFG_DATADIR/$_f"
++                ;;
++        esac
 +
  
- 	    # Make sure there's a directory for it
- 	    make_dir_recursive "$(dirname "$_file_install_path")"
-@@ -625,14 +608,16 @@ install_components() {
+         # Make sure there's a directory for it
+         make_dir_recursive "$(dirname "$_file_install_path")"
+@@ -617,14 +600,16 @@ install_components() {
  
- 		    maybe_backup_path "$_file_install_path"
+             maybe_backup_path "$_file_install_path"
  
--		    if echo "$_file" | grep "^bin/" > /dev/null || test -x "$_src_dir/$_component/$_file"
--		    then
--			run cp "$_src_dir/$_component/$_file" "$_file_install_path"
--			run chmod 755 "$_file_install_path"
--		    else
--			run cp "$_src_dir/$_component/$_file" "$_file_install_path"
--			run chmod 644 "$_file_install_path"
-+		    local mode=644
-+		    if test -x "$_src_dir/$_component/$_file"; then
-+			mode=755
- 		    fi
-+		    case "$_file" in
-+			bin/*) mode=755
-+			       ;;
-+		    esac
-+		    run cp "$_src_dir/$_component/$_file" "$_file_install_path"
-+		    run chmod $mode "$_file_install_path"
- 		    critical_need_ok "file creation failed"
+-            if echo "$_file" | grep "^bin/" > /dev/null || test -x "$_src_dir/$_component/$_file"
+-            then
+-            run cp "$_src_dir/$_component/$_file" "$_file_install_path"
+-            run chmod 755 "$_file_install_path"
+-            else
++            local mode=644
++            if test -x "$_src_dir/$_component/$_file"; then
++                mode=755
++            fi
++            case "$_file" in
++                bin/*) mode=755
++                       ;;
++            esac
+             run cp "$_src_dir/$_component/$_file" "$_file_install_path"
+-            run chmod 644 "$_file_install_path"
+-            fi
++            run chmod $mode "$_file_install_path"
+             critical_need_ok "file creation failed"
  
- 		    # Update the manifest
-@@ -972,7 +957,6 @@ write_to_file "$TEMPLATE_RUST_INSTALLER_
+             # Update the manifest
+@@ -986,7 +971,6 @@ write_to_file "$TEMPLATE_RUST_INSTALLER_
  critical_need_ok "failed to write installer version"
  
  # Install the uninstaller
diff --git a/rust/patches/patch-vendor_cc-1.0.77_src_lib.rs b/rust/patches/patch-vendor_cc-1.0.77_src_lib.rs
deleted file mode 100644
index fb5439d367..0000000000
--- a/rust/patches/patch-vendor_cc-1.0.77_src_lib.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Use correct ABI on NetBSD/riscv64.
-
---- vendor/cc-1.0.77/src/lib.rs.orig	2023-05-31 21:44:47.000000000 +0000
-+++ vendor/cc-1.0.77/src/lib.rs
-@@ -1913,6 +1913,9 @@ impl Build {
-                         } else if target.contains("freebsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
-+                        } else if target.contains("netbsd") && arch.starts_with("64") {
-+                            cmd.args.push(("-march=rv64gc").into());
-+                            cmd.args.push("-mabi=lp64d".into());
-                         } else if target.contains("openbsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
diff --git a/rust/patches/patch-vendor_cc_src_lib.rs b/rust/patches/patch-vendor_cc_src_lib.rs
index 7908dc5d46..05df448478 100644
--- a/rust/patches/patch-vendor_cc_src_lib.rs
+++ b/rust/patches/patch-vendor_cc_src_lib.rs
@@ -4,7 +4,7 @@ Add aarch64_eb, mipsel and riscv64 for NetBSD.
 
 --- vendor/cc/src/lib.rs.orig	2021-07-26 15:20:38.000000000 +0000
 +++ vendor/cc/src/lib.rs
-@@ -1933,6 +1933,9 @@ impl Build {
+@@ -1946,6 +1946,9 @@ impl Build {
                          } else if target.contains("freebsd") && arch.starts_with("64") {
                              cmd.args.push(("-march=rv64gc").into());
                              cmd.args.push("-mabi=lp64d".into());
@@ -38,3 +38,7 @@ Add aarch64_eb, mipsel and riscv64 for NetBSD.
              "riscv64gc-unknown-linux-gnu" => Some("riscv64-linux-gnu"),
              "riscv32gc-unknown-linux-gnu" => Some("riscv32-linux-gnu"),
              "riscv64gc-unknown-linux-musl" => Some("riscv64-linux-musl"),
+$NetBSD$
+
+--- vendor/cc/src/lib.rs.orig	2023-09-23 21:28:33.348998050 +0000
++++ vendor/cc/src/lib.rs
diff --git a/rust/patches/patch-vendor_crossbeam-utils-0.8.15_no__atomic.rs b/rust/patches/patch-vendor_crossbeam-utils-0.8.15_no__atomic.rs
new file mode 100644
index 0000000000..85c1e5dacb
--- /dev/null
+++ b/rust/patches/patch-vendor_crossbeam-utils-0.8.15_no__atomic.rs
@@ -0,0 +1,20 @@
+$NetBSD$
+
+Add mipsel-unknown-netbsd target as not having 64-bit atomics.
+Unify with crossbeam-utils-0.8.12 by removing mipsel-sony-psx.
+
+--- vendor/crossbeam-utils-0.8.15/no_atomic.rs.orig	2023-08-23 22:08:20.000000000 +0000
++++ vendor/crossbeam-utils-0.8.15/no_atomic.rs
+@@ -37,11 +37,11 @@ const NO_ATOMIC_64: &[&str] = &[
+     "mips-unknown-linux-gnu",
+     "mips-unknown-linux-musl",
+     "mips-unknown-linux-uclibc",
+-    "mipsel-sony-psp",
+     "mipsel-sony-psx",
+     "mipsel-unknown-linux-gnu",
+     "mipsel-unknown-linux-musl",
+     "mipsel-unknown-linux-uclibc",
++    "mipsel-unknown-netbsd",
+     "mipsel-unknown-none",
+     "mipsisa32r6-unknown-linux-gnu",
+     "mipsisa32r6el-unknown-linux-gnu",
diff --git a/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mips.rs b/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mips.rs
deleted file mode 100644
index 1698cfb489..0000000000
--- a/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mips.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Add file for NetBSD/mips in mips32 variant.
-
---- vendor/libc-0.2.139/src/unix/bsd/netbsdlike/netbsd/mips.rs.orig	2023-04-23 16:08:32.294600810 +0000
-+++ vendor/libc-0.2.139/src/unix/bsd/netbsdlike/netbsd/mips.rs
-@@ -0,0 +1,22 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i32;
-+pub type c_ulong = u32;
-+pub type c_char = i8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
diff --git a/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index c44b1a8714..0000000000
--- a/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-$NetBSD$
-
-Add execinfo / backtrace stuff for NetBSD, and handle NetBSD/mips
-and NetBSD/riscv64.
-
---- vendor/libc-0.2.139/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2023-04-16 23:32:41.000000000 +0000
-+++ vendor/libc-0.2.139/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -3049,6 +3049,23 @@ extern "C" {
-     pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
- }
- 
-+#[link(name = "execinfo")]
-+extern "C" {
-+    pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
-+    pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
-+    pub fn backtrace_symbols_fd(
-+        addrlist: *const *mut ::c_void,
-+        len: ::size_t,
-+        fd: ::c_int,
-+    ) -> ::c_int;
-+    pub fn backtrace_symbols_fmt(
-+        addrlist: *const *mut ::c_void,
-+        len: ::size_t,
-+        fmt: *const ::c_char,
-+    ) -> *mut *mut ::c_char;
-+}
-+
-+
- cfg_if! {
-     if #[cfg(target_arch = "aarch64")] {
-         mod aarch64;
-@@ -3068,7 +3085,15 @@ cfg_if! {
-     } else if #[cfg(target_arch = "x86")] {
-         mod x86;
-         pub use self::x86::*;
-+    } else if #[cfg(target_arch = "mips")] {
-+        mod mips;
-+        pub use self::mips::*;
-+    } else if #[cfg(target_arch = "riscv64")] {
-+        mod riscv64;
-+        pub use self::riscv64::*;
-     } else {
--        // Unknown target_arch
-+        // Unknown target_arch, this should error out
-+	mod unknown;
-+	pub use self::unknown::*;
-     }
- }
diff --git a/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 5e50328921..0000000000
--- a/rust/patches/patch-vendor_libc-0.2.139_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD$
-
-Spec for riscv64.
-
---- vendor/libc-0.2.139/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2023-07-02 18:40:59.815126792 +0000
-+++ vendor/libc-0.2.139/src/unix/bsd/netbsdlike/netbsd/riscv64.rs	2023-07-02 18:38:40.729445691 +0000
-@@ -0,0 +1,24 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i64;
-+pub type c_ulong = u64;
-+pub type c_char = u8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+// pub const _MAX_PAGE_SHIFT: u32 = 12;
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
diff --git a/rust/patches/patch-vendor_libc-0.2.140_src_unix_solarish_mod.rs b/rust/patches/patch-vendor_libc-0.2.140_src_unix_solarish_mod.rs
new file mode 100644
index 0000000000..26aacb29c2
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.140_src_unix_solarish_mod.rs
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Fix xattr build.
+
+--- vendor/libc-0.2.140/src/unix/solarish/mod.rs.orig	2023-08-23 22:08:20.000000000 +0000
++++ vendor/libc-0.2.140/src/unix/solarish/mod.rs
+@@ -1523,6 +1523,8 @@ pub const EOWNERDEAD: ::c_int = 58;
+ pub const ENOTRECOVERABLE: ::c_int = 59;
+ pub const ENOSTR: ::c_int = 60;
+ pub const ENODATA: ::c_int = 61;
++// This is not supported but is required for xattr
++pub const ENOATTR: ::c_int = ::ENODATA;
+ pub const ETIME: ::c_int = 62;
+ pub const ENOSR: ::c_int = 63;
+ pub const ENONET: ::c_int = 64;
diff --git a/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mips.rs b/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mips.rs
new file mode 100644
index 0000000000..714f43f385
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mips.rs
@@ -0,0 +1,29 @@
+$NetBSD$
+
+Add file for NetBSD/mips in mips32 variant.
+
+--- vendor/libc-0.2.141/src/unix/bsd/netbsdlike/netbsd/mips.rs.orig	2023-04-23 16:08:32.294600810 +0000
++++ vendor/libc-0.2.141/src/unix/bsd/netbsdlike/netbsd/mips.rs
+@@ -0,0 +1,22 @@
++use PT_FIRSTMACH;
++
++pub type c_long = i32;
++pub type c_ulong = u32;
++pub type c_char = i8;
++pub type __cpu_simple_lock_nv_t = ::c_int;
++
++// should be pub(crate), but that requires Rust 1.18.0
++cfg_if! {
++    if #[cfg(libc_const_size_of)] {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
++    } else {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = 8 - 1;
++    }
++}
++
++pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
++pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
++pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
++pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
diff --git a/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mod.rs
new file mode 100644
index 0000000000..1c1f526fce
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_mod.rs
@@ -0,0 +1,48 @@
+$NetBSD$
+
+Add execinfo / backtrace stuff for NetBSD, and handle NetBSD/mips
+and NetBSD/riscv64.
+
+--- vendor/libc-0.2.141/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2023-04-16 23:32:41.000000000 +0000
++++ vendor/libc-0.2.141/src/unix/bsd/netbsdlike/netbsd/mod.rs
+@@ -3049,6 +3049,23 @@ extern "C" {
+     pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
+ }
+ 
++#[link(name = "execinfo")]
++extern "C" {
++    pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
++    pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
++    pub fn backtrace_symbols_fd(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fd: ::c_int,
++    ) -> ::c_int;
++    pub fn backtrace_symbols_fmt(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fmt: *const ::c_char,
++    ) -> *mut *mut ::c_char;
++}
++
++
+ cfg_if! {
+     if #[cfg(target_arch = "aarch64")] {
+         mod aarch64;
+@@ -3068,7 +3085,15 @@ cfg_if! {
+     } else if #[cfg(target_arch = "x86")] {
+         mod x86;
+         pub use self::x86::*;
++    } else if #[cfg(target_arch = "mips")] {
++        mod mips;
++        pub use self::mips::*;
++    } else if #[cfg(target_arch = "riscv64")] {
++        mod riscv64;
++        pub use self::riscv64::*;
+     } else {
+-        // Unknown target_arch
++        // Unknown target_arch, this should error out
++	mod unknown;
++	pub use self::unknown::*;
+     }
+ }
diff --git a/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
new file mode 100644
index 0000000000..90705866f9
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.141_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
@@ -0,0 +1,31 @@
+$NetBSD$
+
+Spec for riscv64.
+
+--- vendor/libc-0.2.141/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2023-07-02 18:40:59.815126792 +0000
++++ vendor/libc-0.2.141/src/unix/bsd/netbsdlike/netbsd/riscv64.rs	2023-07-02 18:38:40.729445691 +0000
+@@ -0,0 +1,24 @@
++use PT_FIRSTMACH;
++
++pub type c_long = i64;
++pub type c_ulong = u64;
++pub type c_char = u8;
++pub type __cpu_simple_lock_nv_t = ::c_int;
++
++// should be pub(crate), but that requires Rust 1.18.0
++cfg_if! {
++    if #[cfg(libc_const_size_of)] {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
++    } else {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = 8 - 1;
++    }
++}
++
++// pub const _MAX_PAGE_SHIFT: u32 = 12;
++
++pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
++pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
++pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
++pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
diff --git a/rust/patches/patch-vendor_libc-0.2.141_src_unix_solarish_mod.rs b/rust/patches/patch-vendor_libc-0.2.141_src_unix_solarish_mod.rs
new file mode 100644
index 0000000000..9bb904e217
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.141_src_unix_solarish_mod.rs
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Fix xattr build.
+
+--- vendor/libc-0.2.141/src/unix/solarish/mod.rs.orig	2023-08-23 22:08:20.000000000 +0000
++++ vendor/libc-0.2.141/src/unix/solarish/mod.rs
+@@ -1523,6 +1523,8 @@ pub const EOWNERDEAD: ::c_int = 58;
+ pub const ENOTRECOVERABLE: ::c_int = 59;
+ pub const ENOSTR: ::c_int = 60;
+ pub const ENODATA: ::c_int = 61;
++// This is not supported but is required for xattr
++pub const ENOATTR: ::c_int = ::ENODATA;
+ pub const ETIME: ::c_int = 62;
+ pub const ENOSR: ::c_int = 63;
+ pub const ENONET: ::c_int = 64;
diff --git a/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mips.rs b/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mips.rs
deleted file mode 100644
index de0591964c..0000000000
--- a/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mips.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Add support for NetBSD/mipsel (needs mips32).
-
---- vendor/libc-0.2.143/src/unix/bsd/netbsdlike/netbsd/mips.rs.orig	2023-07-14 09:16:55.357761685 +0000
-+++ vendor/libc-0.2.143/src/unix/bsd/netbsdlike/netbsd/mips.rs
-@@ -0,0 +1,22 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i32;
-+pub type c_ulong = u32;
-+pub type c_char = i8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
diff --git a/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 8a79aed119..0000000000
--- a/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD$
-
-Add support for NetBSD/mipsel and NetBSD/riscv64.
-Also try to enable backtrace support.
-
---- vendor/libc-0.2.143/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2023-07-12 05:06:31.000000000 +0000
-+++ vendor/libc-0.2.143/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -3153,6 +3153,22 @@ extern "C" {
-     pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
- }
- 
-+#[link(name = "execinfo")]
-+extern "C" {
-+    pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
-+    pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
-+    pub fn backtrace_symbols_fd(
-+        addrlist: *const *mut ::c_void,
-+        len: ::size_t,
-+        fd: ::c_int,
-+    ) -> ::c_int;
-+    pub fn backtrace_symbols_fmt(
-+        addrlist: *const *mut ::c_void,
-+        len: ::size_t,
-+        fmt: *const ::c_char,
-+    ) -> *mut *mut ::c_char;
-+}
-+
- cfg_if! {
-     if #[cfg(target_arch = "aarch64")] {
-         mod aarch64;
-@@ -3172,7 +3188,15 @@ cfg_if! {
-     } else if #[cfg(target_arch = "x86")] {
-         mod x86;
-         pub use self::x86::*;
-+    } else if #[cfg(target_arch = "mips")] {
-+        mod mips;
-+        pub use self::mips::*;
-+    } else if #[cfg(target_arch = "riscv64")] {
-+        mod riscv64;
-+        pub use self::riscv64::*;
-     } else {
--        // Unknown target_arch
-+        // Unknown target_arch, this should error out
-+        mod unknown;
-+        pub use self::unknown::*;
-     }
- }
diff --git a/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 2474d11689..0000000000
--- a/rust/patches/patch-vendor_libc-0.2.143_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Add support for NetBSD/riscv64.
-
---- vendor/libc-0.2.143/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2023-07-14 09:17:03.907579820 +0000
-+++ vendor/libc-0.2.143/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -0,0 +1,22 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i64;
-+pub type c_ulong = u64;
-+pub type c_char = u8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
diff --git a/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mips.rs b/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mips.rs
new file mode 100644
index 0000000000..1c653365cd
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mips.rs
@@ -0,0 +1,29 @@
+$NetBSD$
+
+Add support for NetBSD/mipsel (needs mips32).
+
+--- vendor/libc-0.2.146/src/unix/bsd/netbsdlike/netbsd/mips.rs.orig	2023-07-14 09:16:55.357761685 +0000
++++ vendor/libc-0.2.146/src/unix/bsd/netbsdlike/netbsd/mips.rs
+@@ -0,0 +1,22 @@
++use PT_FIRSTMACH;
++
++pub type c_long = i32;
++pub type c_ulong = u32;
++pub type c_char = i8;
++pub type __cpu_simple_lock_nv_t = ::c_int;
++
++// should be pub(crate), but that requires Rust 1.18.0
++cfg_if! {
++    if #[cfg(libc_const_size_of)] {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
++    } else {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = 8 - 1;
++    }
++}
++
++pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
++pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
++pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
++pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
diff --git a/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mod.rs
new file mode 100644
index 0000000000..c7c00d1b17
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_mod.rs
@@ -0,0 +1,47 @@
+$NetBSD$
+
+Add support for NetBSD/mipsel and NetBSD/riscv64.
+Also try to enable backtrace support.
+
+--- vendor/libc-0.2.146/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2023-07-12 05:06:31.000000000 +0000
++++ vendor/libc-0.2.146/src/unix/bsd/netbsdlike/netbsd/mod.rs
+@@ -3153,6 +3153,22 @@ extern "C" {
+     pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
+ }
+ 
++#[link(name = "execinfo")]
++extern "C" {
++    pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
++    pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
++    pub fn backtrace_symbols_fd(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fd: ::c_int,
++    ) -> ::c_int;
++    pub fn backtrace_symbols_fmt(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fmt: *const ::c_char,
++    ) -> *mut *mut ::c_char;
++}
++
+ cfg_if! {
+     if #[cfg(target_arch = "aarch64")] {
+         mod aarch64;
+@@ -3172,7 +3188,15 @@ cfg_if! {
+     } else if #[cfg(target_arch = "x86")] {
+         mod x86;
+         pub use self::x86::*;
++    } else if #[cfg(target_arch = "mips")] {
++        mod mips;
++        pub use self::mips::*;
++    } else if #[cfg(target_arch = "riscv64")] {
++        mod riscv64;
++        pub use self::riscv64::*;
+     } else {
+-        // Unknown target_arch
++        // Unknown target_arch, this should error out
++        mod unknown;
++        pub use self::unknown::*;
+     }
+ }
diff --git a/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
new file mode 100644
index 0000000000..9b552a0f2b
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.146_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
@@ -0,0 +1,29 @@
+$NetBSD$
+
+Add support for NetBSD/riscv64.
+
+--- vendor/libc-0.2.146/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2023-07-14 09:17:03.907579820 +0000
++++ vendor/libc-0.2.146/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
+@@ -0,0 +1,22 @@
++use PT_FIRSTMACH;
++
++pub type c_long = i64;
++pub type c_ulong = u64;
++pub type c_char = u8;
++pub type __cpu_simple_lock_nv_t = ::c_int;
++
++// should be pub(crate), but that requires Rust 1.18.0
++cfg_if! {
++    if #[cfg(libc_const_size_of)] {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
++    } else {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = 8 - 1;
++    }
++}
++
++pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
++pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
++pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
++pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
diff --git a/rust/patches/patch-vendor_libc-0.2.146_src_unix_solarish_mod.rs b/rust/patches/patch-vendor_libc-0.2.146_src_unix_solarish_mod.rs
new file mode 100644
index 0000000000..1cffe4aacf
--- /dev/null
+++ b/rust/patches/patch-vendor_libc-0.2.146_src_unix_solarish_mod.rs
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Fix xattr build.
+
+--- vendor/libc-0.2.146/src/unix/solarish/mod.rs.orig	2023-08-23 22:08:20.000000000 +0000
++++ vendor/libc-0.2.146/src/unix/solarish/mod.rs
+@@ -1523,6 +1523,8 @@ pub const EOWNERDEAD: ::c_int = 58;
+ pub const ENOTRECOVERABLE: ::c_int = 59;
+ pub const ENOSTR: ::c_int = 60;
+ pub const ENODATA: ::c_int = 61;
++// This is not supported but is required for xattr
++pub const ENOATTR: ::c_int = ::ENODATA;
+ pub const ETIME: ::c_int = 62;
+ pub const ENOSR: ::c_int = 63;
+ pub const ENONET: ::c_int = 64;


Home | Main Index | Thread Index | Old Index