git: 53e44579be56 - main - lang/rust: Update to 1.59.0

From: Mikael Urankar <mikael_at_FreeBSD.org>
Date: Tue, 15 Mar 2022 09:52:12 UTC
The branch main has been updated by mikael:

URL: https://cgit.FreeBSD.org/ports/commit/?id=53e44579be56ebf464fae76e0daa55b7ced06c26

commit 53e44579be56ebf464fae76e0daa55b7ced06c26
Author:     Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2022-03-09 16:35:13 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2022-03-15 09:51:50 +0000

    lang/rust: Update to 1.59.0
    
    Changes: https://blog.rust-lang.org/FIXME/Rust-1.59.0.html
    PR:             262449
    Exp-run by:     antoine
    Differential Revision:  https://reviews.freebsd.org/D34471
---
 Mk/Uses/cargo.mk                                   |   2 +-
 Mk/bsd.gecko.mk                                    |   2 +-
 lang/rust-bootstrap/Makefile                       |   2 +-
 lang/rust-bootstrap/distinfo                       |   6 +-
 lang/rust/Makefile                                 |   6 +-
 lang/rust/distinfo                                 | 126 ++++++++---------
 ...rch_crates_std__detect_src_detect_os_aarch64.rs |  13 ++
 .../riscv64/patch-compiler_rustc__llvm_build.rs    |  16 ---
 .../patch-compiler_rustc__target_src_spec_mod.rs   |  10 --
 ..._target_src_spec_riscv64gc__unknown__freebsd.rs |  21 ---
 .../riscv64/patch-library_std_src_os_raw_mod.rs    |  22 ---
 ...tes_std__detect_src_detect_os_freebsd_auxvec.rs |  12 --
 .../files/riscv64/patch-src_bootstrap_bootstrap.py |  11 --
 .../files/riscv64/patch-src_bootstrap_native.rs    |  20 ---
 .../patch-src_doc_rustc_src_platform-support.md    |  10 --
 ..._unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs} |   4 +-
 ..._unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs} |   4 +-
 ..._unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs} |   4 +-
 ....2.108_src_unix_bsd_freebsdlike_freebsd_mod.rs} |   4 +-
 ...08_src_unix_bsd_freebsdlike_freebsd_riscv64.rs} |   4 +-
 ...c_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs |  12 --
 ...c_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs |  12 --
 ...c_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs |  12 --
 ...-0.2.98_src_unix_bsd_freebsdlike_freebsd_mod.rs |  12 --
 ....98_src_unix_bsd_freebsdlike_freebsd_riscv64.rs | 157 ---------------------
 ...c_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs |  12 --
 ...c_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs |  12 --
 ...c_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs |  12 --
 ...or_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs |  12 --
 29 files changed, 95 insertions(+), 457 deletions(-)

diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk
index df905304eaf9..ef9c3d821567 100644
--- a/Mk/Uses/cargo.mk
+++ b/Mk/Uses/cargo.mk
@@ -97,7 +97,7 @@ WRKSRC_crate_${_crate}=	${WRKDIR}/${_wrksrc}
 
 CARGO_BUILDDEP?=	yes
 .if ${CARGO_BUILDDEP:tl} == "yes"
-BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.58.1:lang/${RUST_DEFAULT}
+BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.59.0:lang/${RUST_DEFAULT}
 .endif
 
 # Location of toolchain (default to lang/rust's toolchain)
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index fdc1effe8672..7e084efcf947 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -79,7 +79,7 @@ BUNDLE_LIBS=	yes
 
 BUILD_DEPENDS+=	llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \
 				rust-cbindgen>=0.19.0:devel/rust-cbindgen \
-				${RUST_DEFAULT}>=1.58.1:lang/${RUST_DEFAULT} \
+				${RUST_DEFAULT}>=1.59.0:lang/${RUST_DEFAULT} \
 				node:www/node
 LIB_DEPENDS+=	libdrm.so:graphics/libdrm
 RUN_DEPENDS+=	${LOCALBASE}/lib/libpci.so:devel/libpci
diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile
index a40fc6745b29..4909139bc831 100644
--- a/lang/rust-bootstrap/Makefile
+++ b/lang/rust-bootstrap/Makefile
@@ -2,7 +2,7 @@
 # to upload them to ~/public_distfiles on freefall in preparation
 # for the next lang/rust update.
 PORTNAME=	rust
-PORTVERSION=	1.58.1
+PORTVERSION=	1.59.0
 CATEGORIES=	lang
 MASTER_SITES=	https://static.rust-lang.org/dist/
 PKGNAMEPREFIX=	${FLAVOR:S/_/-/g}-
diff --git a/lang/rust-bootstrap/distinfo b/lang/rust-bootstrap/distinfo
index 0fe662521281..be2225716a59 100644
--- a/lang/rust-bootstrap/distinfo
+++ b/lang/rust-bootstrap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643710731
-SHA256 (rust/rustc-1.58.1-src.tar.xz) = 2b3643a48e7087053b0268971ec4154350342508922a8acb0707aaf94deb4469
-SIZE (rust/rustc-1.58.1-src.tar.xz) = 124353160
+TIMESTAMP = 1646648374
+SHA256 (rust/rustc-1.59.0-src.tar.xz) = 375996ead731cab2203ec10a66a3c4568ab6997d7e5d3ae597658164fe27be3d
+SIZE (rust/rustc-1.59.0-src.tar.xz) = 128942756
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 41c43ac9bb9d..b6044d2effb4 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,7 +1,7 @@
 # Created by: Jyun-Yan You <jyyou@cs.nctu.edu.tw>
 
 PORTNAME=	rust
-PORTVERSION?=	1.58.1
+PORTVERSION?=	1.59.0
 PORTREVISION?=	0
 CATEGORIES=	lang
 MASTER_SITES=	https://static.rust-lang.org/dist/:src \
@@ -68,8 +68,8 @@ WASM_VARS=		_RUST_BUILD_WASM=true \
 WASM_VARS_OFF=		_RUST_BUILD_WASM=false
 
 # See WRKSRC/src/stage0.json for the date and version values
-BOOTSTRAPS_DATE?=		2021-12-02
-RUST_BOOTSTRAP_VERSION?=	1.57.0
+BOOTSTRAPS_DATE?=		2022-01-20
+RUST_BOOTSTRAP_VERSION?=	1.58.1
 
 BOOTSTRAPS_SUFFIX?=		${BOOTSTRAPS_SUFFIX_${ARCH}}
 BOOTSTRAPS_SUFFIX_powerpc64?=	-${PPC_ABI:tl}
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index 2e6afccaed9d..d2f99eadfe64 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,63 +1,63 @@
-TIMESTAMP = 1643710730
-SHA256 (rust/rustc-1.58.1-src.tar.xz) = 2b3643a48e7087053b0268971ec4154350342508922a8acb0707aaf94deb4469
-SIZE (rust/rustc-1.58.1-src.tar.xz) = 124353160
-SHA256 (rust/2021-12-02/rustc-1.57.0-aarch64-unknown-freebsd.tar.xz) = c157138a0d2179875aa68ce8674a04fb622e3a9f51be48dad29e4080e663ba07
-SIZE (rust/2021-12-02/rustc-1.57.0-aarch64-unknown-freebsd.tar.xz) = 49524084
-SHA256 (rust/2021-12-02/rust-std-1.57.0-aarch64-unknown-freebsd.tar.xz) = 47c414bf12951670fc439b4810ce88443069fc1d7cfbe2c49e005ca164d39a5a
-SIZE (rust/2021-12-02/rust-std-1.57.0-aarch64-unknown-freebsd.tar.xz) = 21447236
-SHA256 (rust/2021-12-02/cargo-1.57.0-aarch64-unknown-freebsd.tar.xz) = ef00c5bf73003983dd6bc4b3edf06f8502b26be1c4def4c55e4f65fd95ba5f6c
-SIZE (rust/2021-12-02/cargo-1.57.0-aarch64-unknown-freebsd.tar.xz) = 4606180
-SHA256 (rust/2021-12-02/rustc-1.57.0-x86_64-unknown-freebsd.tar.xz) = ef215995462aedd5d06ed9d5a527c0ca536309924d25326b4fcbeb806804b6ca
-SIZE (rust/2021-12-02/rustc-1.57.0-x86_64-unknown-freebsd.tar.xz) = 44829204
-SHA256 (rust/2021-12-02/rust-std-1.57.0-x86_64-unknown-freebsd.tar.xz) = fde2cd6ede33b0a61e5d7b8aea2e84946aefc6784508821b02cf312691367531
-SIZE (rust/2021-12-02/rust-std-1.57.0-x86_64-unknown-freebsd.tar.xz) = 22048312
-SHA256 (rust/2021-12-02/cargo-1.57.0-x86_64-unknown-freebsd.tar.xz) = fc16b9401eb322bbd34ba990d1d6822ae2cabb31ad2fe56cab069383d9e4e42f
-SIZE (rust/2021-12-02/cargo-1.57.0-x86_64-unknown-freebsd.tar.xz) = 5349980
-SHA256 (rust/2021-12-02/rustc-1.57.0-armv6-unknown-freebsd.tar.xz) = 453aa01d61a9ebd181d174fb1d3770a25bb21c6efaf1eb3515b32a7302dbcd2d
-SIZE (rust/2021-12-02/rustc-1.57.0-armv6-unknown-freebsd.tar.xz) = 50036940
-SHA256 (rust/2021-12-02/rust-std-1.57.0-armv6-unknown-freebsd.tar.xz) = 440bce823b40abfb1c9a497e4e9798e4955db07d8092c51106a8ae338df94f6d
-SIZE (rust/2021-12-02/rust-std-1.57.0-armv6-unknown-freebsd.tar.xz) = 20057828
-SHA256 (rust/2021-12-02/cargo-1.57.0-armv6-unknown-freebsd.tar.xz) = d36b6e47df598e02e3bb3fda78c052d4ca7938eea78bcf8ad12813c1ff86cf74
-SIZE (rust/2021-12-02/cargo-1.57.0-armv6-unknown-freebsd.tar.xz) = 4655820
-SHA256 (rust/2021-12-02/rustc-1.57.0-armv7-unknown-freebsd.tar.xz) = a3f4273f77ba1b92ca98357566df12962f7a6a5fccc21c90058129d091f335c1
-SIZE (rust/2021-12-02/rustc-1.57.0-armv7-unknown-freebsd.tar.xz) = 50251684
-SHA256 (rust/2021-12-02/rust-std-1.57.0-armv7-unknown-freebsd.tar.xz) = 523dec227f60ec75d186a2b91032e10a79d0f49c4919df6b6193fe476efdc37d
-SIZE (rust/2021-12-02/rust-std-1.57.0-armv7-unknown-freebsd.tar.xz) = 20911364
-SHA256 (rust/2021-12-02/cargo-1.57.0-armv7-unknown-freebsd.tar.xz) = cd1fff41b3e15b29e2be50dd78aa747c4ad74b2ad3eab2f5756700a438a42b33
-SIZE (rust/2021-12-02/cargo-1.57.0-armv7-unknown-freebsd.tar.xz) = 4640496
-SHA256 (rust/2021-12-02/rustc-1.57.0-i686-unknown-freebsd.tar.xz) = 1db681e4c512a9982b0a237c708ecd74b1d9e50605fa1a7ef719f8998a0d4f53
-SIZE (rust/2021-12-02/rustc-1.57.0-i686-unknown-freebsd.tar.xz) = 54031364
-SHA256 (rust/2021-12-02/rust-std-1.57.0-i686-unknown-freebsd.tar.xz) = e014271ead0910971bffc5fe3bca2c3ee0f27e9e3b4e585284405cc729926fdc
-SIZE (rust/2021-12-02/rust-std-1.57.0-i686-unknown-freebsd.tar.xz) = 21912908
-SHA256 (rust/2021-12-02/cargo-1.57.0-i686-unknown-freebsd.tar.xz) = 911b0f8702e1f097a05f2e877205aea1786788836745fb073074a7b7fd5e34ea
-SIZE (rust/2021-12-02/cargo-1.57.0-i686-unknown-freebsd.tar.xz) = 5488972
-SHA256 (rust/2021-12-02/rustc-1.57.0-powerpc-unknown-freebsd.tar.xz) = 64788e7941ec3d8061987c316a31f7c1e865229581c0fa9c47375e5ce37f9d31
-SIZE (rust/2021-12-02/rustc-1.57.0-powerpc-unknown-freebsd.tar.xz) = 50523480
-SHA256 (rust/2021-12-02/rust-std-1.57.0-powerpc-unknown-freebsd.tar.xz) = f9b0760a736ff3c4fbf25ca3217abb493a9a09fbfd5c098e897ed8360148ebe5
-SIZE (rust/2021-12-02/rust-std-1.57.0-powerpc-unknown-freebsd.tar.xz) = 19872204
-SHA256 (rust/2021-12-02/cargo-1.57.0-powerpc-unknown-freebsd.tar.xz) = ac1846a53e6dae28bae80568a5e380d839e9c72ecb72a7aca067aa3dbef433f0
-SIZE (rust/2021-12-02/cargo-1.57.0-powerpc-unknown-freebsd.tar.xz) = 5101416
-SHA256 (rust/2021-12-02/rustc-1.57.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = f9992775ec99de1db97702df73c19352335407c99a91f0264ab506ded4a439af
-SIZE (rust/2021-12-02/rustc-1.57.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 59568592
-SHA256 (rust/2021-12-02/rust-std-1.57.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 2d2dbdd2fa93f220e12f772c73141ef954d9438ac996a85e8cf51d826cad0a29
-SIZE (rust/2021-12-02/rust-std-1.57.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 19940428
-SHA256 (rust/2021-12-02/cargo-1.57.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = ffd3c62850fcbcba4364d880ace33899e8aa03638ce72e8a53f9ea92547224dc
-SIZE (rust/2021-12-02/cargo-1.57.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5153396
-SHA256 (rust/2021-12-02/rustc-1.57.0-powerpc64le-unknown-freebsd.tar.xz) = 8a5ab4a1dea568b3337e931507b2c728eb6de0f7b87e36a98e7b17d566f13a78
-SIZE (rust/2021-12-02/rustc-1.57.0-powerpc64le-unknown-freebsd.tar.xz) = 52114084
-SHA256 (rust/2021-12-02/rust-std-1.57.0-powerpc64le-unknown-freebsd.tar.xz) = 08af0d18ac8cbcd3b125a61d4f01bc0cf9b0efa7d18eb2b16fca9857a57a22b7
-SIZE (rust/2021-12-02/rust-std-1.57.0-powerpc64le-unknown-freebsd.tar.xz) = 20114788
-SHA256 (rust/2021-12-02/cargo-1.57.0-powerpc64le-unknown-freebsd.tar.xz) = a0006f594bd446e01c62868b2db7a40aac23ae694dfbfe9de89edf33f707989b
-SIZE (rust/2021-12-02/cargo-1.57.0-powerpc64le-unknown-freebsd.tar.xz) = 5092864
-SHA256 (rust/2021-12-02/rustc-1.57.0-riscv64gc-unknown-freebsd.tar.xz) = 7831ebf7d9b9c579d3e16e1b7b556a793d63a62f36636fba3b63ef2ed13c6872
-SIZE (rust/2021-12-02/rustc-1.57.0-riscv64gc-unknown-freebsd.tar.xz) = 141961976
-SHA256 (rust/2021-12-02/rust-std-1.57.0-riscv64gc-unknown-freebsd.tar.xz) = 3068b2f74537e5efcd293ebae7ce0e16bff92603cbc3ac5201ba3bb8e9ebe4ef
-SIZE (rust/2021-12-02/rust-std-1.57.0-riscv64gc-unknown-freebsd.tar.xz) = 27221940
-SHA256 (rust/2021-12-02/cargo-1.57.0-riscv64gc-unknown-freebsd.tar.xz) = c88fb84cd53349fcac5516f79b88f8b23ebdcbac40408719a112ef095068a95d
-SIZE (rust/2021-12-02/cargo-1.57.0-riscv64gc-unknown-freebsd.tar.xz) = 24413628
-SHA256 (rust/2021-12-02/rustc-1.57.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 3cb08f51df429d0decfd32020ce2a68c92a8fe7dc52b32ab57f61955a91fcf8c
-SIZE (rust/2021-12-02/rustc-1.57.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 49856512
-SHA256 (rust/2021-12-02/rust-std-1.57.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 5ae8f118545c9ecf6c89f8f1358bd08cacd2b37d9ae0dc001c2ec05ce14d5321
-SIZE (rust/2021-12-02/rust-std-1.57.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 19848988
-SHA256 (rust/2021-12-02/cargo-1.57.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 662772c902e8512ef9a0c2b6e3543de511835c591bb374218d43141ac3f77546
-SIZE (rust/2021-12-02/cargo-1.57.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4833052
+TIMESTAMP = 1646648477
+SHA256 (rust/rustc-1.59.0-src.tar.xz) = 375996ead731cab2203ec10a66a3c4568ab6997d7e5d3ae597658164fe27be3d
+SIZE (rust/rustc-1.59.0-src.tar.xz) = 128942756
+SHA256 (rust/2022-01-20/rustc-1.58.1-aarch64-unknown-freebsd.tar.xz) = e34a7a90f31326ef0d7a56c4df61205ffad91ecefab192f79a8f50759aa86f64
+SIZE (rust/2022-01-20/rustc-1.58.1-aarch64-unknown-freebsd.tar.xz) = 49629860
+SHA256 (rust/2022-01-20/rust-std-1.58.1-aarch64-unknown-freebsd.tar.xz) = 40a8430d595ec0fa5f2b0889069bb4b74e8550be76445f699422e136e98f13ed
+SIZE (rust/2022-01-20/rust-std-1.58.1-aarch64-unknown-freebsd.tar.xz) = 22066068
+SHA256 (rust/2022-01-20/cargo-1.58.1-aarch64-unknown-freebsd.tar.xz) = dbd317208a43f6437cc6d0637e4495b83541595b695156dfd70c41abcb0d9ef8
+SIZE (rust/2022-01-20/cargo-1.58.1-aarch64-unknown-freebsd.tar.xz) = 4563964
+SHA256 (rust/2022-01-20/rustc-1.58.1-x86_64-unknown-freebsd.tar.xz) = 78fc6d5abaae2e7d05c3570c464e3026ea02040e28e5595561a3200f251000f9
+SIZE (rust/2022-01-20/rustc-1.58.1-x86_64-unknown-freebsd.tar.xz) = 44721628
+SHA256 (rust/2022-01-20/rust-std-1.58.1-x86_64-unknown-freebsd.tar.xz) = a2d0b510b421de864ee7cd2b3b803b8f843605fbf19d9daf49dc9b3ccae0a641
+SIZE (rust/2022-01-20/rust-std-1.58.1-x86_64-unknown-freebsd.tar.xz) = 22227776
+SHA256 (rust/2022-01-20/cargo-1.58.1-x86_64-unknown-freebsd.tar.xz) = d958dad7ebcf4c2a6cba8cea7ef1add8c3928715dcfbb73aa7a7a5992f53077f
+SIZE (rust/2022-01-20/cargo-1.58.1-x86_64-unknown-freebsd.tar.xz) = 5296884
+SHA256 (rust/2022-01-20/rustc-1.58.1-armv6-unknown-freebsd.tar.xz) = 593ca881e40b907f6b09d346ebfb42dc16c4f450a5ac6c7d2a0381b416456196
+SIZE (rust/2022-01-20/rustc-1.58.1-armv6-unknown-freebsd.tar.xz) = 50451208
+SHA256 (rust/2022-01-20/rust-std-1.58.1-armv6-unknown-freebsd.tar.xz) = fd4009b30db0212b91481597ea2054ea24323bf0e3a755190c1527dc1f78f4de
+SIZE (rust/2022-01-20/rust-std-1.58.1-armv6-unknown-freebsd.tar.xz) = 20316724
+SHA256 (rust/2022-01-20/cargo-1.58.1-armv6-unknown-freebsd.tar.xz) = 75016cf2d3ee35f9f74aade08ffaf870286d5a4012b1ea3af69358a9102627c0
+SIZE (rust/2022-01-20/cargo-1.58.1-armv6-unknown-freebsd.tar.xz) = 4600584
+SHA256 (rust/2022-01-20/rustc-1.58.1-armv7-unknown-freebsd.tar.xz) = bc4e1fa2905639d5989127f668bf3a54498bcc80b54848270c0ae246c7dbce19
+SIZE (rust/2022-01-20/rustc-1.58.1-armv7-unknown-freebsd.tar.xz) = 50293136
+SHA256 (rust/2022-01-20/rust-std-1.58.1-armv7-unknown-freebsd.tar.xz) = 9add6afedee77c8e65608c3fefa7d7bb2d7eee22763fd9562ffdf9bbcb8311c3
+SIZE (rust/2022-01-20/rust-std-1.58.1-armv7-unknown-freebsd.tar.xz) = 21240724
+SHA256 (rust/2022-01-20/cargo-1.58.1-armv7-unknown-freebsd.tar.xz) = 10d412dd707ecfa656fe4e9f3e08f92a4c396dffedcfabb10405b0bafb0849c2
+SIZE (rust/2022-01-20/cargo-1.58.1-armv7-unknown-freebsd.tar.xz) = 4588676
+SHA256 (rust/2022-01-20/rustc-1.58.1-i686-unknown-freebsd.tar.xz) = 1a50ddeefb20da5851c665465869202bb6f762988a7bf523950418d3f4049c84
+SIZE (rust/2022-01-20/rustc-1.58.1-i686-unknown-freebsd.tar.xz) = 53748856
+SHA256 (rust/2022-01-20/rust-std-1.58.1-i686-unknown-freebsd.tar.xz) = 248a070d8a4f8ab87c323476c709d7db83118bdb8b3b32c1f787092941dc3bae
+SIZE (rust/2022-01-20/rust-std-1.58.1-i686-unknown-freebsd.tar.xz) = 22017868
+SHA256 (rust/2022-01-20/cargo-1.58.1-i686-unknown-freebsd.tar.xz) = 885da898ea041d8f108a2678ed0c5e0a88e3f914231fccc0c74f5193e450aca2
+SIZE (rust/2022-01-20/cargo-1.58.1-i686-unknown-freebsd.tar.xz) = 5454892
+SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc-unknown-freebsd.tar.xz) = 9f3a19cb004ed98fb1773b0b85dbd0b613ca9ac88cc64617be93ed8f10027304
+SIZE (rust/2022-01-20/rustc-1.58.1-powerpc-unknown-freebsd.tar.xz) = 51339132
+SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc-unknown-freebsd.tar.xz) = e0ec787bc6122402df83bc58854ea0adc141476c611d7d5a820d74d37cee0da6
+SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc-unknown-freebsd.tar.xz) = 19986132
+SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc-unknown-freebsd.tar.xz) = f9f363c90b61857d7166f07ab105ddfbb8834feb2391a234577688085efcd1b2
+SIZE (rust/2022-01-20/cargo-1.58.1-powerpc-unknown-freebsd.tar.xz) = 5044396
+SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 41a65df771fbdb707f397c46051494b6643bc372ccba5e00d85fd243f58ae9a8
+SIZE (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 59874020
+SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 235a1882af9f82c8be19561705fa42826485540eb5e12f877a01d77849bfcd5f
+SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 20142520
+SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 9dcc2ed48ea9c5195b4bcbec8bdbad9107f422ef2d94fb6581c639d91f60f757
+SIZE (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5124252
+SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = a4dcc3cb8dba4bd683a39410abde7142cfbd01a210721d065891fa9722d6a94a
+SIZE (rust/2022-01-20/rustc-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 51876588
+SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 70620d17631dc2224aa33e731d34a258f01f8011a4b977e4bcb39f7eca21b37f
+SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 20287396
+SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 5f0393765a6fd7f131f7f161d9036486e5fbae23a49717e21cc88b86949e64f7
+SIZE (rust/2022-01-20/cargo-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 5035344
+SHA256 (rust/2022-01-20/rustc-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 30e83e1682819d0dd0af59a657c7c9e43a0ab12c65e895450bc4c6217644567a
+SIZE (rust/2022-01-20/rustc-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 146101152
+SHA256 (rust/2022-01-20/rust-std-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 996617dbf439fbbaeeaf561f8df2384f6911ed3a5f37aac5299d7c2fe7c04d59
+SIZE (rust/2022-01-20/rust-std-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 27900440
+SHA256 (rust/2022-01-20/cargo-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 1fadc4457e169c5adf9226bd39e3baa429c19934d66d35082fccf12d36177d23
+SIZE (rust/2022-01-20/cargo-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 25171860
+SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = f51bbce85904167eb3140fd338c0db1461d773a12816eda5a9e23d99e7d43858
+SIZE (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 49776472
+SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = f66dc338c191603a84b8c2765035a3de0e8ea24720448ca708d75a318464a79e
+SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 20119252
+SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 125db61c8bcd860b31250bc621bc4899cc7a35f6a320f2bf55887580af5019c6
+SIZE (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4773656
diff --git a/lang/rust/files/patch-library_stdarch_crates_std__detect_src_detect_os_aarch64.rs b/lang/rust/files/patch-library_stdarch_crates_std__detect_src_detect_os_aarch64.rs
new file mode 100644
index 000000000000..920c78536499
--- /dev/null
+++ b/lang/rust/files/patch-library_stdarch_crates_std__detect_src_detect_os_aarch64.rs
@@ -0,0 +1,13 @@
+https://github.com/rust-lang/stdarch/pull/1290/commits/4557e223d895067d5c5a627c26929de060868c22
+
+--- library/stdarch/crates/std_detect/src/detect/os/aarch64.rs.orig     2022-03-08 09:13:53 UTC
++++ library/stdarch/crates/std_detect/src/detect/os/aarch64.rs
+@@ -16,6 +16,7 @@
+ //! - [Zircon implementation](https://fuchsia.googlesource.com/zircon/+/master/kernel/arch/arm64/feature.cpp)
+ //! - [Linux documentation](https://www.kernel.org/doc/Documentation/arm64/cpu-feature-registers.txt)
+ 
++use core::arch::asm;
+ use crate::detect::{cache, Feature};
+ 
+ /// Try to read the features from the system registers.
+
diff --git a/lang/rust/files/riscv64/patch-compiler_rustc__llvm_build.rs b/lang/rust/files/riscv64/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 1786f3e285df..000000000000
--- a/lang/rust/files/riscv64/patch-compiler_rustc__llvm_build.rs
+++ /dev/null
@@ -1,16 +0,0 @@
---- compiler/rustc_llvm/build.rs.orig	2021-11-29 19:27:11 UTC
-+++ compiler/rustc_llvm/build.rs
-@@ -276,8 +276,11 @@ fn main() {
-         "stdc++"
-     };
- 
--    // RISC-V requires libatomic for sub-word atomic operations
--    if target.starts_with("riscv") {
-+    // RISC-V GCC erroneously requires libatomic for sub-word
-+    // atomic operations. FreeBSD uses Clang as its system
-+    // compiler and provides no libatomic in its base system so
-+    // does not want this.
-+    if !target.contains("freebsd") && target.starts_with("riscv") {
-         println!("cargo:rustc-link-lib=atomic");
-     }
- 
diff --git a/lang/rust/files/riscv64/patch-compiler_rustc__target_src_spec_mod.rs b/lang/rust/files/riscv64/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index f08735462131..000000000000
--- a/lang/rust/files/riscv64/patch-compiler_rustc__target_src_spec_mod.rs
+++ /dev/null
@@ -1,10 +0,0 @@
---- compiler/rustc_target/src/spec/mod.rs.orig	2021-11-04 11:23:50 UTC
-+++ compiler/rustc_target/src/spec/mod.rs
-@@ -805,6 +805,7 @@ supported_targets! {
-     ("powerpc-unknown-freebsd", powerpc_unknown_freebsd),
-     ("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd),
-     ("powerpc64le-unknown-freebsd", powerpc64le_unknown_freebsd),
-+    ("riscv64gc-unknown-freebsd", riscv64gc_unknown_freebsd),
-     ("x86_64-unknown-freebsd", x86_64_unknown_freebsd),
- 
-     ("x86_64-unknown-dragonfly", x86_64_unknown_dragonfly),
diff --git a/lang/rust/files/riscv64/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__freebsd.rs b/lang/rust/files/riscv64/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__freebsd.rs
deleted file mode 100644
index 9dcbb17ab3c0..000000000000
--- a/lang/rust/files/riscv64/patch-compiler_rustc__target_src_spec_riscv64gc__unknown__freebsd.rs
+++ /dev/null
@@ -1,21 +0,0 @@
---- compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs.orig	2021-11-04 11:22:10 UTC
-+++ compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
-@@ -0,0 +1,18 @@
-+use crate::spec::{CodeModel, Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    Target {
-+        llvm_target: "riscv64-unknown-freebsd".to_string(),
-+        pointer_width: 64,
-+        data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
-+        arch: "riscv64".to_string(),
-+        options: TargetOptions {
-+            code_model: Some(CodeModel::Medium),
-+            cpu: "generic-rv64".to_string(),
-+            features: "+m,+a,+f,+d,+c".to_string(),
-+            llvm_abiname: "lp64d".to_string(),
-+            max_atomic_width: Some(64),
-+            ..super::freebsd_base::opts()
-+        },
-+    }
-+}
diff --git a/lang/rust/files/riscv64/patch-library_std_src_os_raw_mod.rs b/lang/rust/files/riscv64/patch-library_std_src_os_raw_mod.rs
deleted file mode 100644
index e880f73fd205..000000000000
--- a/lang/rust/files/riscv64/patch-library_std_src_os_raw_mod.rs
+++ /dev/null
@@ -1,22 +0,0 @@
---- library/std/src/os/raw/mod.rs.orig	2021-11-05 15:16:50 UTC
-+++ library/std/src/os/raw/mod.rs
-@@ -68,7 +68,8 @@ type_alias! { "char.md", c_char = u8, NonZero_c_char =
-             target_arch = "aarch64",
-             target_arch = "arm",
-             target_arch = "powerpc",
--            target_arch = "powerpc64"
-+            target_arch = "powerpc64",
-+            target_arch = "riscv64"
-         )
-     ),
-     all(
-@@ -110,7 +111,8 @@ type_alias! { "char.md", c_char = i8, NonZero_c_char =
-             target_arch = "aarch64",
-             target_arch = "arm",
-             target_arch = "powerpc",
--            target_arch = "powerpc64"
-+            target_arch = "powerpc64",
-+            target_arch = "riscv64"
-         )
-     ),
-     all(
diff --git a/lang/rust/files/riscv64/patch-library_stdarch_crates_std__detect_src_detect_os_freebsd_auxvec.rs b/lang/rust/files/riscv64/patch-library_stdarch_crates_std__detect_src_detect_os_freebsd_auxvec.rs
deleted file mode 100644
index d2df5bd0056f..000000000000
--- a/lang/rust/files/riscv64/patch-library_stdarch_crates_std__detect_src_detect_os_freebsd_auxvec.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- library/stdarch/crates/std_detect/src/detect/os/freebsd/auxvec.rs.orig	2021-10-18 09:52:55 UTC
-+++ library/stdarch/crates/std_detect/src/detect/os/freebsd/auxvec.rs
-@@ -3,7 +3,8 @@
-     any(
-         target_arch = "aarch64",
-         target_arch = "arm",
--        target_arch = "powerpc64"
-+        target_arch = "powerpc64",
-+        target_arch = "riscv64"
-     ),
-     allow(dead_code)
- )]
diff --git a/lang/rust/files/riscv64/patch-src_bootstrap_bootstrap.py b/lang/rust/files/riscv64/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index d384c0990ca5..000000000000
--- a/lang/rust/files/riscv64/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/bootstrap/bootstrap.py.orig	2021-11-11 14:21:03 UTC
-+++ src/bootstrap/bootstrap.py
-@@ -283,7 +283,7 @@ def default_build_triple(verbose):
-         err = "unknown OS type: {}".format(ostype)
-         sys.exit(err)
- 
--    if cputype == 'powerpc' and ostype == 'unknown-freebsd':
-+    if cputype in ['powerpc', 'riscv'] and ostype == 'unknown-freebsd':
-         cputype = subprocess.check_output(
-               ['uname', '-p']).strip().decode(default_encoding)
-     cputype_mapper = {
diff --git a/lang/rust/files/riscv64/patch-src_bootstrap_native.rs b/lang/rust/files/riscv64/patch-src_bootstrap_native.rs
deleted file mode 100644
index df56a7f09589..000000000000
--- a/lang/rust/files/riscv64/patch-src_bootstrap_native.rs
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/bootstrap/native.rs.orig	2021-11-29 19:27:11 UTC
-+++ src/bootstrap/native.rs
-@@ -248,9 +248,14 @@ impl Step for Llvm {
-             }
-         }
- 
--        if target.starts_with("riscv") {
--            // In RISC-V, using C++ atomics require linking to `libatomic` but the LLVM build
--            // system check cannot detect this. Therefore it is set manually here.
-+        if !target.contains("freebsd") && target.starts_with("riscv") {
-+            // RISC-V GCC erroneously requires linking against
-+            // `libatomic` when using 1-byte and 2-byte C++
-+            // atomics but the LLVM build system check cannot
-+            // detect this. Therefore it is set manually here.
-+            // FreeBSD uses Clang as its system compiler and
-+            // provides no libatomic in its base system so does
-+            // not want this.
-             if !builder.config.llvm_tools_enabled {
-                 cfg.define("CMAKE_EXE_LINKER_FLAGS", "-latomic");
-             } else {
diff --git a/lang/rust/files/riscv64/patch-src_doc_rustc_src_platform-support.md b/lang/rust/files/riscv64/patch-src_doc_rustc_src_platform-support.md
deleted file mode 100644
index 9f82379f9187..000000000000
--- a/lang/rust/files/riscv64/patch-src_doc_rustc_src_platform-support.md
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/doc/rustc/src/platform-support.md.orig	2021-11-04 11:32:01 UTC
-+++ src/doc/rustc/src/platform-support.md
-@@ -261,6 +261,7 @@ target | std | host | notes
- `riscv32gc-unknown-linux-gnu` |   |   | RISC-V Linux (kernel 5.4, glibc 2.33)
- `riscv32gc-unknown-linux-musl` |   |   | RISC-V Linux (kernel 5.4, musl + RISCV32 support patches)
- `riscv32imc-esp-espidf` | ✓ |  | RISC-V ESP-IDF
-+`riscv64gc-unknown-freebsd` |   |   | RISC-V FreeBSD
- `riscv64gc-unknown-linux-musl` |   |   | RISC-V Linux (kernel 4.20, musl 1.2.0)
- `s390x-unknown-linux-musl` |  |  | S390x Linux (kernel 2.6.32, MUSL)
- `sparc-unknown-linux-gnu` | ✓ |  | 32-bit SPARC Linux
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
similarity index 72%
rename from lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
rename to lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
index bdde822353ff..4427d55ed653 100644
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
+++ b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
@@ -1,5 +1,5 @@
---- vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs
+--- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs.orig	2021-11-29 20:27:33 UTC
++++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs
 @@ -217,7 +217,8 @@ extern "C" {
  
  cfg_if! {
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
similarity index 72%
rename from lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
rename to lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
index bde4f77fac49..18f866da36eb 100644
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
+++ b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
@@ -1,5 +1,5 @@
---- vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs
+--- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs.orig	2021-11-29 20:27:33 UTC
++++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs
 @@ -241,7 +241,8 @@ extern "C" {
  
  cfg_if! {
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
similarity index 72%
rename from lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
rename to lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
index 3dda6014eeb2..5bf019e846eb 100644
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
+++ b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
@@ -1,5 +1,5 @@
---- vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs
+--- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs.orig	2021-11-29 20:27:33 UTC
++++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs
 @@ -271,7 +271,8 @@ extern "C" {
  
  cfg_if! {
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_mod.rs
similarity index 71%
rename from lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_mod.rs
rename to lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_mod.rs
index 371806f231de..affd8555921c 100644
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_mod.rs
+++ b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_mod.rs
@@ -1,5 +1,5 @@
---- vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/mod.rs
+--- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig	2021-11-29 20:27:33 UTC
++++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/mod.rs
 @@ -2021,6 +2021,9 @@ cfg_if! {
      } else if #[cfg(target_arch = "powerpc")] {
          mod powerpc;
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_riscv64.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_riscv64.rs
similarity index 97%
rename from lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_riscv64.rs
rename to lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_riscv64.rs
index 57f82315c60d..c395951cc851 100644
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.106_src_unix_bsd_freebsdlike_freebsd_riscv64.rs
+++ b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_riscv64.rs
@@ -1,5 +1,5 @@
---- vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/riscv64.rs.orig	2021-11-05 13:41:21 UTC
-+++ vendor/libc-0.2.106/src/unix/bsd/freebsdlike/freebsd/riscv64.rs
+--- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/riscv64.rs.orig	2021-11-05 13:41:21 UTC
++++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/riscv64.rs
 @@ -0,0 +1,154 @@
 +pub type c_char = u8;
 +pub type c_long = i64;
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
deleted file mode 100644
index 04aef529ce69..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs
-@@ -217,7 +217,8 @@ extern "C" {
- 
- cfg_if! {
-     if #[cfg(any(target_arch = "x86_64",
--                 target_arch = "aarch64"))] {
-+                 target_arch = "aarch64",
-+                 target_arch = "riscv64"))] {
-         mod b64;
-         pub use self::b64::*;
-     }
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
deleted file mode 100644
index e9a428f19c59..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs
-@@ -235,7 +235,8 @@ extern "C" {
- 
- cfg_if! {
-     if #[cfg(any(target_arch = "x86_64",
--                 target_arch = "aarch64"))] {
-+                 target_arch = "aarch64",
-+                 target_arch = "riscv64"))] {
-         mod b64;
-         pub use self::b64::*;
-     }
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
deleted file mode 100644
index fbfa6662aabb..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs
-@@ -240,7 +240,8 @@ extern "C" {
- 
- cfg_if! {
-     if #[cfg(any(target_arch = "x86_64",
--                 target_arch = "aarch64"))] {
-+                 target_arch = "aarch64",
-+                 target_arch = "riscv64"))] {
-         mod b64;
-         pub use self::b64::*;
-     }
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_mod.rs
deleted file mode 100644
index 864d0669534c..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/mod.rs
-@@ -1749,6 +1749,9 @@ cfg_if! {
-     } else if #[cfg(target_arch = "powerpc")] {
-         mod powerpc;
-         pub use self::powerpc::*;
-+    } else if #[cfg(target_arch = "riscv64")] {
-+        mod riscv64;
-+        pub use self::riscv64::*;
-     } else {
-         // Unknown target_arch
-     }
diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_riscv64.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_riscv64.rs
deleted file mode 100644
index d4fddf2844a2..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.98_src_unix_bsd_freebsdlike_freebsd_riscv64.rs
+++ /dev/null
@@ -1,157 +0,0 @@
---- vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/riscv64.rs.orig	2021-11-05 13:41:21 UTC
-+++ vendor/libc-0.2.98/src/unix/bsd/freebsdlike/freebsd/riscv64.rs
-@@ -0,0 +1,154 @@
-+pub type c_char = u8;
-+pub type c_long = i64;
-+pub type c_ulong = u64;
-+pub type wchar_t = ::c_int;
-+pub type time_t = i64;
-+pub type suseconds_t = ::c_long;
-+pub type register_t = i64;
-+
-+// 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;
-+    }
-+}
-+
-+s_no_extra_traits! {
-+    pub struct gpregs {
-+        pub gp_ra: ::register_t,
-+        pub gp_sp: ::register_t,
-+        pub gp_gp: ::register_t,
-+        pub gp_tp: ::register_t,
-+        pub gp_t: [::register_t; 7],
-+        pub gp_s: [::register_t; 12],
-+        pub gp_a: [::register_t; 8],
-+        pub gp_sepc: ::register_t,
-+        pub gp_sstatus: ::register_t,
-+    }
-+
-+    pub struct fpregs {
-+        pub fp_x: [[::register_t; 2]; 32],
-+        pub fp_fcsr: ::register_t,
-+        pub fp_flags: ::c_int,
-+        pub fp_pad: ::c_int,
-+    }
-+
-+    pub struct mcontext_t {
-+        pub mc_gpregs: gpregs,
-+        pub mc_fpregs: fpregs,
-+        pub mc_flags: ::c_int,
-+        pub mc_pad: ::c_int,
-+        pub mc_spare: [u64; 8],
-+    }
-+}
-+
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+        impl PartialEq for gpregs {
-+            fn eq(&self, other: &gpregs) -> bool {
-+                self.gp_ra == other.gp_ra &&
-+                self.gp_sp == other.gp_sp &&
-+                self.gp_gp == other.gp_gp &&
-+                self.gp_tp == other.gp_tp &&
-+                self.gp_t.iter().zip(other.gp_t.iter()).all(|(a, b)| a == b) &&
-+                self.gp_s.iter().zip(other.gp_s.iter()).all(|(a, b)| a == b) &&
-+                self.gp_a.iter().zip(other.gp_a.iter()).all(|(a, b)| a == b) &&
-+                self.gp_sepc == other.gp_sepc &&
-+                self.gp_sstatus == other.gp_sstatus
-+            }
-+        }
-+        impl Eq for gpregs {}
-+        impl ::fmt::Debug for gpregs {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                f.debug_struct("gpregs")
-+                    .field("gp_ra", &self.gp_ra)
-+                    .field("gp_sp", &self.gp_sp)
-+                    .field("gp_gp", &self.gp_gp)
-+                    .field("gp_tp", &self.gp_tp)
-+                    .field("gp_t", &self.gp_t)
-+                    .field("gp_s", &self.gp_s)
-+                    .field("gp_a", &self.gp_a)
-+                    .field("gp_sepc", &self.gp_sepc)
-+                    .field("gp_sstatus", &self.gp_sstatus)
-+                    .finish()
-+            }
-+        }
-+        impl ::hash::Hash for gpregs {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                self.gp_ra.hash(state);
-+                self.gp_sp.hash(state);
-+                self.gp_gp.hash(state);
-+                self.gp_tp.hash(state);
-+                self.gp_t.hash(state);
-+                self.gp_s.hash(state);
-+                self.gp_a.hash(state);
-+                self.gp_sepc.hash(state);
-+                self.gp_sstatus.hash(state);
-+            }
-+        }
-+        impl PartialEq for fpregs {
-+            fn eq(&self, other: &fpregs) -> bool {
-+                self.fp_x == other.fp_x &&
-+                self.fp_fcsr == other.fp_fcsr &&
-+                self.fp_flags == other.fp_flags &&
-+                self.fp_pad == other.fp_pad
-+            }
-+        }
-+        impl Eq for fpregs {}
-+        impl ::fmt::Debug for fpregs {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                f.debug_struct("fpregs")
-+                    .field("fp_x", &self.fp_x)
-+                    .field("fp_fcsr", &self.fp_fcsr)
-+                    .field("fp_flags", &self.fp_flags)
-+                    .field("fp_pad", &self.fp_pad)
-+                    .finish()
-+            }
-+        }
-+        impl ::hash::Hash for fpregs {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                self.fp_x.hash(state);
-+                self.fp_fcsr.hash(state);
-+                self.fp_flags.hash(state);
-+                self.fp_pad.hash(state);
-+            }
-+        }
-+        impl PartialEq for mcontext_t {
-+            fn eq(&self, other: &mcontext_t) -> bool {
-+                self.mc_gpregs == other.mc_gpregs &&
-+                self.mc_fpregs == other.mc_fpregs &&
-+                self.mc_flags == other.mc_flags &&
-+                self.mc_pad == other.mc_pad &&
-+                self.mc_spare.iter().zip(other.mc_spare.iter()).all(|(a, b)| a == b)
-+            }
-+        }
-+        impl Eq for mcontext_t {}
-+        impl ::fmt::Debug for mcontext_t {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                f.debug_struct("mcontext_t")
-+                    .field("mc_gpregs", &self.mc_gpregs)
-+                    .field("mc_fpregs", &self.mc_fpregs)
-+                    .field("mc_flags", &self.mc_flags)
-+                    .field("mc_pad", &self.mc_pad)
-+                    .field("mc_spare", &self.mc_spare)
-+                    .finish()
-+            }
-+        }
-+        impl ::hash::Hash for mcontext_t {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                self.mc_gpregs.hash(state);
-+                self.mc_fpregs.hash(state);
-+                self.mc_flags.hash(state);
-+                self.mc_pad.hash(state);
-+                self.mc_spare.hash(state);
-+            }
-+        }
-+    }
-+}
-+
-+pub const MAP_32BIT: ::c_int = 0x00080000;
-+pub const MINSIGSTKSZ: ::size_t = 4096; // 1024 * 4
diff --git a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
deleted file mode 100644
index 017c18db6f9c..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs
-@@ -217,7 +217,8 @@ extern "C" {
- 
- cfg_if! {
-     if #[cfg(any(target_arch = "x86_64",
--                 target_arch = "aarch64"))] {
-+                 target_arch = "aarch64",
-+                 target_arch = "riscv64"))] {
-         mod b64;
-         pub use self::b64::*;
-     }
diff --git a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
deleted file mode 100644
index 599ba3d18247..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs
-@@ -241,7 +241,8 @@ extern "C" {
- 
- cfg_if! {
-     if #[cfg(any(target_arch = "x86_64",
--                 target_arch = "aarch64"))] {
-+                 target_arch = "aarch64",
-+                 target_arch = "riscv64"))] {
-         mod b64;
-         pub use self::b64::*;
-     }
diff --git a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
deleted file mode 100644
index 4098c94249cc..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs
-@@ -271,7 +271,8 @@ extern "C" {
- 
- cfg_if! {
-     if #[cfg(any(target_arch = "x86_64",
--                 target_arch = "aarch64"))] {
-+                 target_arch = "aarch64",
-+                 target_arch = "riscv64"))] {
-         mod b64;
-         pub use self::b64::*;
-     }
diff --git a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs
deleted file mode 100644
index a99c851e9422..000000000000
--- a/lang/rust/files/riscv64/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig	2021-11-29 20:27:33 UTC
-+++ vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs
-@@ -2021,6 +2021,9 @@ cfg_if! {
-     } else if #[cfg(target_arch = "powerpc")] {
-         mod powerpc;
-         pub use self::powerpc::*;
-+    } else if #[cfg(target_arch = "riscv64")] {
-+        mod riscv64;
-+        pub use self::riscv64::*;
-     } else {
-         // Unknown target_arch
-     }