aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2021-03-29 18:07:32 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2021-03-29 18:07:32 +0000
commitdb4578b35ab61b68527c8396b74a50c03441aa3c (patch)
treed2d248616eceef578ad959d0e9ae8535e9e8c040 /lang
parent25dbc5fa5612f9efe8155a6250d426c935787fb0 (diff)
downloadports-db4578b35ab61b68527c8396b74a50c03441aa3c.tar.gz
ports-db4578b35ab61b68527c8396b74a50c03441aa3c.zip
lang/rust: Update to 1.51.0
- Update devel/racer to 2.1.44 Changes: https://blog.rust-lang.org/2021/03/25/Rust-1.51.0.html PR: 254578 Reviewed by: mikael, pkubaj Exp-run by: antoine With hat: rust Differential Revision: https://reviews.freebsd.org/D29425
Notes
Notes: svn path=/head/; revision=569489
Diffstat (limited to 'lang')
-rw-r--r--lang/rust-bootstrap/Makefile3
-rw-r--r--lang/rust-bootstrap/distinfo6
-rw-r--r--lang/rust/Makefile19
-rw-r--r--lang/rust/distinfo102
-rw-r--r--lang/rust/files/patch-backtrace906
-rw-r--r--lang/rust/files/patch-src_bootstrap_native.rs16
-rw-r--r--lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs4
-rw-r--r--lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs10
8 files changed, 79 insertions, 987 deletions
diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile
index 3ec780c9b8b6..bfb76cf6de70 100644
--- a/lang/rust-bootstrap/Makefile
+++ b/lang/rust-bootstrap/Makefile
@@ -4,8 +4,7 @@
# to upload them to ~/public_distfiles on freefall in preparation
# for the next lang/rust update.
PORTNAME= rust
-PORTVERSION= 1.50.0
-PORTREVISION= 2
+PORTVERSION= 1.51.0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/:rust \
LOCAL/mikael:armbase \
diff --git a/lang/rust-bootstrap/distinfo b/lang/rust-bootstrap/distinfo
index 5b4db15528ce..8bfcb64b4e5c 100644
--- a/lang/rust-bootstrap/distinfo
+++ b/lang/rust-bootstrap/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1613722755
-SHA256 (rust/rustc-1.50.0-src.tar.xz) = f54adf9204ed3cb3998cdc1baa5645b346d8cf8f18205e3b15fcae194ba5457c
-SIZE (rust/rustc-1.50.0-src.tar.xz) = 108666272
+TIMESTAMP = 1616754064
+SHA256 (rust/rustc-1.51.0-src.tar.xz) = 92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1
+SIZE (rust/rustc-1.51.0-src.tar.xz) = 109596164
SHA256 (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 3f82224fbcc6b2a2e1a1358cec5f32c0a08b5c5e6796e1a998369eb624a11cf3
SIZE (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 158493712
SHA256 (FreeBSD-11.4-RELEASE-amd64.tar.xz) = 3bac8257bdd5e5b071f7b80cc591ebecd01b9314ca7839a2903096cbf82169f9
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 759ba19dafe7..647b587973bc 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -2,14 +2,13 @@
# $FreeBSD$
PORTNAME= rust
-PORTVERSION?= 1.50.0
-PORTREVISION?= 1
+PORTVERSION?= 1.51.0
+PORTREVISION?= 0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/:src \
https://dev-static.rust-lang.org/dist/:src \
- LOCAL/bdragon/rust:bootstrap \
- LOCAL/mikael/rust:bootstrap \
LOCAL/tobik/rust:bootstrap \
+ LOCAL/mikael/rust:bootstrap \
https://static.rust-lang.org/dist/:bootstrap
DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src
DISTFILES?= ${NIGHTLY_DATE:D${NIGHTLY_DATE}/}${DISTNAME}${EXTRACT_SUFX}:src \
@@ -63,8 +62,8 @@ WASM_VARS= _RUST_BUILD_WASM=true \
WASM_VARS_OFF= _RUST_BUILD_WASM=false
# See WRKSRC/src/stage0.txt for the date and version values.
-BOOTSTRAPS_DATE?= 2020-12-31
-RUST_BOOTSTRAP_VERSION?= 1.49.0
+BOOTSTRAPS_DATE?= 2021-02-11
+RUST_BOOTSTRAP_VERSION?= 1.50.0
BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}}
BOOTSTRAPS_SUFFIX_powerpc64?= -${PPC_ABI:tl}
@@ -112,6 +111,11 @@ post-patch:
# Disable vendor checksums
@${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \
${CARGO_VENDOR_DIR}/*/.cargo-checksum.json
+.if defined(PPC_ABI) && ${PPC_ABI} == ELFv1 && ${LOCALBASE} != /usr/local
+ @${REINPLACE_CMD} 's,/usr/local/,${LOCALBASE}/,g' \
+ ${WRKSRC}/compiler/rustc_llvm/build.rs \
+ ${WRKSRC}/src/bootstrap/native.rs
+.endif
do-configure:
# Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64
@@ -123,6 +127,9 @@ do-configure:
.endfor
@${ECHO_CMD} 'changelog-seen=2' > ${WRKSRC}/config.toml
@${ECHO_CMD} '[build]' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'build-stage=2' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'doc-stage=2' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'test-stage=2' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'extended=true' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'python="${PYTHON_CMD}"' >> ${WRKSRC}/config.toml
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index 2ce10c195495..27c6adc6c978 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,51 +1,51 @@
-TIMESTAMP = 1613066854
-SHA256 (rust/rustc-1.50.0-src.tar.xz) = f54adf9204ed3cb3998cdc1baa5645b346d8cf8f18205e3b15fcae194ba5457c
-SIZE (rust/rustc-1.50.0-src.tar.xz) = 108666272
-SHA256 (rust/2020-12-31/cargo-1.49.0-aarch64-unknown-freebsd.tar.xz) = 1f29206d9bdebc4f7a85bc40e26bed20919a7efc374493ef6dc8fcb76d9dd757
-SIZE (rust/2020-12-31/cargo-1.49.0-aarch64-unknown-freebsd.tar.xz) = 4124680
-SHA256 (rust/2020-12-31/rust-std-1.49.0-aarch64-unknown-freebsd.tar.xz) = b326929f61f90ca47d9e5ca683a1bd0c72da308e15758f3b1358707c39763890
-SIZE (rust/2020-12-31/rust-std-1.49.0-aarch64-unknown-freebsd.tar.xz) = 16758184
-SHA256 (rust/2020-12-31/rustc-1.49.0-aarch64-unknown-freebsd.tar.xz) = aa469cc62df63c4718106a6c47c6a3b9e4d294691a61d03e446ceea1f182557e
-SIZE (rust/2020-12-31/rustc-1.49.0-aarch64-unknown-freebsd.tar.xz) = 36458176
-SHA256 (rust/2020-12-31/rustc-1.49.0-x86_64-unknown-freebsd.tar.xz) = 6e4b19b96663042bfe94634025565d57c944ad6e1c6c40dd7b1c56f72eaa2808
-SIZE (rust/2020-12-31/rustc-1.49.0-x86_64-unknown-freebsd.tar.xz) = 39597956
-SHA256 (rust/2020-12-31/rust-std-1.49.0-x86_64-unknown-freebsd.tar.xz) = 55fabca711092c67bbffb3e3fec886acf6b90094b256c10998e4f77f90281805
-SIZE (rust/2020-12-31/rust-std-1.49.0-x86_64-unknown-freebsd.tar.xz) = 19435648
-SHA256 (rust/2020-12-31/cargo-1.49.0-x86_64-unknown-freebsd.tar.xz) = 8af89e8c81beaa3222c2da65a43d8fda5e887552684601ceb35666184ae54294
-SIZE (rust/2020-12-31/cargo-1.49.0-x86_64-unknown-freebsd.tar.xz) = 4877948
-SHA256 (rust/2020-12-31/rustc-1.49.0-armv6-unknown-freebsd.tar.xz) = c713f8c1662abf2e1d55183907b1ddae17888352bafafd88bc67952da7abc3a5
-SIZE (rust/2020-12-31/rustc-1.49.0-armv6-unknown-freebsd.tar.xz) = 38281092
-SHA256 (rust/2020-12-31/rust-std-1.49.0-armv6-unknown-freebsd.tar.xz) = a867971dcceecc41e3bb19befef2f77513a130d512df961a2b0954b6236aff3e
-SIZE (rust/2020-12-31/rust-std-1.49.0-armv6-unknown-freebsd.tar.xz) = 17007160
-SHA256 (rust/2020-12-31/cargo-1.49.0-armv6-unknown-freebsd.tar.xz) = b416f6df6cbf22a0cf656b9ae462859062abaa26cf66c62cf90688558e90a814
-SIZE (rust/2020-12-31/cargo-1.49.0-armv6-unknown-freebsd.tar.xz) = 4283936
-SHA256 (rust/2020-12-31/rustc-1.49.0-armv7-unknown-freebsd.tar.xz) = 812f52a37c15da4f344bd2e6f4ef13482931013dc51ddf8a340fb7d7045aa7cd
-SIZE (rust/2020-12-31/rustc-1.49.0-armv7-unknown-freebsd.tar.xz) = 37941452
-SHA256 (rust/2020-12-31/rust-std-1.49.0-armv7-unknown-freebsd.tar.xz) = a73f9b10f537ea3538d7139414ec1dd38926a9f892d03f85df7ce779421117ba
-SIZE (rust/2020-12-31/rust-std-1.49.0-armv7-unknown-freebsd.tar.xz) = 17139628
-SHA256 (rust/2020-12-31/cargo-1.49.0-armv7-unknown-freebsd.tar.xz) = 0e47d84c6caa9fbcece0a1affefb730466b66de03422d666a0ad12acb2ef8504
-SIZE (rust/2020-12-31/cargo-1.49.0-armv7-unknown-freebsd.tar.xz) = 4273576
-SHA256 (rust/2020-12-31/rustc-1.49.0-i686-unknown-freebsd.tar.xz) = 38e60e3870d7be62bd38dd27418821e0bda403663941b245eb1e06d16cb15254
-SIZE (rust/2020-12-31/rustc-1.49.0-i686-unknown-freebsd.tar.xz) = 40971152
-SHA256 (rust/2020-12-31/rust-std-1.49.0-i686-unknown-freebsd.tar.xz) = 0c14316074c3ae6690b0f9169fd40c2889aab54baa856a55ebd814a5aed23081
-SIZE (rust/2020-12-31/rust-std-1.49.0-i686-unknown-freebsd.tar.xz) = 19461844
-SHA256 (rust/2020-12-31/cargo-1.49.0-i686-unknown-freebsd.tar.xz) = 4b3e30c79baef4ca4bb7f061e61a97652289d42f2c10653ccbe99a82b60ba345
-SIZE (rust/2020-12-31/cargo-1.49.0-i686-unknown-freebsd.tar.xz) = 4942980
-SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 1557c59eeaa7db5f037b51e01787f55dfcccb00aa01f32dfab5b22880a8c3f0a
-SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 44844340
-SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = d1807da240efabe0dfc038ce9bf71170d2d0ef6d5a8c14d206cb42a08bb84b55
-SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 16862016
-SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = e2d032d66a14a5fba1a0c74da283f49b09dd0d9f795d87defad661fe59c433b5
-SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4752512
-SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 7885b37a3b68ce9faa6dcc3d400157a514d57483af3e1d383774a0be7d3845df
-SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 39868780
-SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 2997b1593c5ec28e32040d2bb643712f9a555a257e7a32bb0b5db4e3bc3f95c5
-SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 17006712
-SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 0fd8651dda85b1548986ba5b9286c8de70543adabba547d065c45ee6a96c831b
-SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 4693276
-SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 04144ce50f91a175ea5b9954909c2d408c265e7191d7175f2c8c316ad8eab12a
-SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 38025780
-SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 43a08e6459bfb4498a395b07c194a4bbc38915e7027ba2ec4e8939087abeeb7a
-SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 16795244
-SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = cae1f2f35330bbfd82a5ab1e3f3b82d3981f7b22541becf69659323edb9a6a8c
-SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4447368
+TIMESTAMP = 1616749421
+SHA256 (rust/rustc-1.51.0-src.tar.xz) = 92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1
+SIZE (rust/rustc-1.51.0-src.tar.xz) = 109596164
+SHA256 (rust/2021-02-11/rustc-1.50.0-aarch64-unknown-freebsd.tar.xz) = 35861e14be840d59465c3958d7bf56960be362f593f14f440329504d29bdc0e0
+SIZE (rust/2021-02-11/rustc-1.50.0-aarch64-unknown-freebsd.tar.xz) = 45220868
+SHA256 (rust/2021-02-11/rust-std-1.50.0-aarch64-unknown-freebsd.tar.xz) = e9a8237c2f3b8e7cf40608f48d27345a3c1601fa0ddcf8abfb94b879ca1a8bbc
+SIZE (rust/2021-02-11/rust-std-1.50.0-aarch64-unknown-freebsd.tar.xz) = 17429788
+SHA256 (rust/2021-02-11/cargo-1.50.0-aarch64-unknown-freebsd.tar.xz) = 4daf13681f990bcf8d0ca28ab410e0a3d0e5b533772f55e7568eea7e61bca89a
+SIZE (rust/2021-02-11/cargo-1.50.0-aarch64-unknown-freebsd.tar.xz) = 4287964
+SHA256 (rust/2021-02-11/rustc-1.50.0-x86_64-unknown-freebsd.tar.xz) = c0148c65ab21f7a49f6d393ba140bf53c05e73276383dd7eb2b65048b1ba4a16
+SIZE (rust/2021-02-11/rustc-1.50.0-x86_64-unknown-freebsd.tar.xz) = 47818616
+SHA256 (rust/2021-02-11/rust-std-1.50.0-x86_64-unknown-freebsd.tar.xz) = c9ff9ef502675bf40f8d7a806d967551f8c3402ff54c48aec7afd63291f64009
+SIZE (rust/2021-02-11/rust-std-1.50.0-x86_64-unknown-freebsd.tar.xz) = 21624016
+SHA256 (rust/2021-02-11/cargo-1.50.0-x86_64-unknown-freebsd.tar.xz) = 1a49a9aa5374258499048c163de3f0c736f75d12210f299afdbca2099060926d
+SIZE (rust/2021-02-11/cargo-1.50.0-x86_64-unknown-freebsd.tar.xz) = 5073160
+SHA256 (rust/2021-02-11/rustc-1.50.0-armv6-unknown-freebsd.tar.xz) = 628987b6f5cd018a650d1a0b1ec27132cf0a1dd0dd6bffb4387a72466ecb9460
+SIZE (rust/2021-02-11/rustc-1.50.0-armv6-unknown-freebsd.tar.xz) = 46037188
+SHA256 (rust/2021-02-11/rust-std-1.50.0-armv6-unknown-freebsd.tar.xz) = ed722bfe0c3c3267550767afc59d5d93056018cd664d1182dce3b187d00d3b96
+SIZE (rust/2021-02-11/rust-std-1.50.0-armv6-unknown-freebsd.tar.xz) = 17375956
+SHA256 (rust/2021-02-11/cargo-1.50.0-armv6-unknown-freebsd.tar.xz) = 27ce8e045304146879c48792447de0eb09e92c0e9ce27d80f4dc5d96a005adf8
+SIZE (rust/2021-02-11/cargo-1.50.0-armv6-unknown-freebsd.tar.xz) = 4459520
+SHA256 (rust/2021-02-11/rustc-1.50.0-armv7-unknown-freebsd.tar.xz) = 479b2c740e1244863f4450bb800e96832182b80dcfdc6f8c70d0248bac312e4f
+SIZE (rust/2021-02-11/rustc-1.50.0-armv7-unknown-freebsd.tar.xz) = 46085828
+SHA256 (rust/2021-02-11/rust-std-1.50.0-armv7-unknown-freebsd.tar.xz) = cce6d3a91ba8f982ca218782be1ea0500add316bd83cbe3ce701ec1f10dcf498
+SIZE (rust/2021-02-11/rust-std-1.50.0-armv7-unknown-freebsd.tar.xz) = 17546932
+SHA256 (rust/2021-02-11/cargo-1.50.0-armv7-unknown-freebsd.tar.xz) = 307586fb4d0d33b861d008472b65f6bae9502b7ef44921881046442a81da32d6
+SIZE (rust/2021-02-11/cargo-1.50.0-armv7-unknown-freebsd.tar.xz) = 4453420
+SHA256 (rust/2021-02-11/rustc-1.50.0-i686-unknown-freebsd.tar.xz) = ad52fa90b986770ed2809aae666b9ebe3062b1b0f470fdaa519bc0633a4eab92
+SIZE (rust/2021-02-11/rustc-1.50.0-i686-unknown-freebsd.tar.xz) = 48989020
+SHA256 (rust/2021-02-11/rust-std-1.50.0-i686-unknown-freebsd.tar.xz) = d59650dea7fed2dbcc03fdc006d691c8fceb18db6ad575801e5b898ffbdf71a0
+SIZE (rust/2021-02-11/rust-std-1.50.0-i686-unknown-freebsd.tar.xz) = 21622960
+SHA256 (rust/2021-02-11/cargo-1.50.0-i686-unknown-freebsd.tar.xz) = 7b07204894a3c5c1f4b39e03c475d8a5ea523a30721af19ba49211c8f46e0cf4
+SIZE (rust/2021-02-11/cargo-1.50.0-i686-unknown-freebsd.tar.xz) = 5145204
+SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = a215d00ffd5e561471ded1ee546c66b3852c83a727f459c3c224eb78cfd67fd5
+SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 55203080
+SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = c80da6b2b3ba447550c311eda47748e1cf6620e095bec5e60c65d24e711f7eb6
+SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 17337608
+SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = b5347cc6d5369a93667249b68d19075971836c536128053abf768ed759bdde48
+SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4946400
+SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 11a9ec86be232486f2f42f44e28b7be3baa7cc19d137d87a95851529e3e64f61
+SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 48136856
+SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 8c5ad05fcb0cf55c762ad6f85cbe0d67663cba0cdd82cfe1378d6004e4b4abeb
+SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 17429708
+SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = bc9ea6b58fa346f1ed04ef21561a8cd81937eb61fa6c7a3272586336d734089e
+SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 4887040
+SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = b88a9b5ea755207ad431852e009c1e0d993bffca40c6aaa69f76183876b5c603
+SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 46199556
+SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = f55a7b1560aef7cbb44cbbffa6d0baee4598d715fe32865cf3fcae9951b2cd70
+SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 17233672
+SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = f8ea608809f9bd760e9e280d2b183b003727cae682eae16892cc570379e83d13
+SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4627136
diff --git a/lang/rust/files/patch-backtrace b/lang/rust/files/patch-backtrace
index 601a15201e8a..e658bf339a5c 100644
--- a/lang/rust/files/patch-backtrace
+++ b/lang/rust/files/patch-backtrace
@@ -10,909 +10,3 @@ https://github.com/rust-lang/rust/issues/78184
))] {
// Other Unix (e.g. Linux) platforms use ELF as an object file format
// and typically implement an API called `dl_iterate_phdr` to load
---- vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs
-@@ -14,6 +14,38 @@ pub type nl_item = ::c_int;
- pub type id_t = i64;
- pub type vm_size_t = ::uintptr_t;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
-+// link.h
-+
- #[cfg_attr(feature = "extra_traits", derive(Debug))]
- pub enum timezone {}
- impl ::Copy for timezone {}
-@@ -233,6 +265,43 @@ s! {
- pub piod_addr: *mut ::c_void,
- pub piod_len: ::size_t,
- }
-+
-+ // elf.h
-+
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ pub dlpi_adds: ::c_ulonglong,
-+ pub dlpi_subs: ::c_ulonglong,
-+ pub dlpi_tls_modid: usize,
-+ pub dlpi_tls_data: *mut ::c_void,
-+ }
- }
-
- s_no_extra_traits! {
-@@ -1514,6 +1583,18 @@ extern "C" {
-
- pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
- pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
-+
-+ // #include <link.h>
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- #[link(name = "rt")]
---- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t;
- pub type lwpid_t = ::c_uint;
- pub type shmatt_t = ::c_uint;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
- impl siginfo_t {
- pub unsafe fn si_value(&self) -> ::sigval {
- #[repr(C)]
-@@ -341,6 +371,42 @@ s! {
- pub time_state: ::c_int,
- }
-
-+ // elf.h
-+
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ pub dlpi_adds: ::c_ulonglong,
-+ pub dlpi_subs: ::c_ulonglong,
-+ pub dlpi_tls_modid: usize,
-+ pub dlpi_tls_data: *mut ::c_void,
-+ }
- }
-
- s_no_extra_traits! {
-@@ -1988,6 +2054,19 @@ extern "C" {
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
-+
-+ // link.h
-+
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- #[link(name = "util")]
---- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs
-@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void;
- pub type pthread_rwlockattr_t = *mut ::c_void;
- pub type caddr_t = *mut ::c_char;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
- s! {
- pub struct glob_t {
- pub gl_pathc: ::size_t,
-@@ -321,6 +351,38 @@ s! {
- __shm_ctimensec: c_long,
- pub shm_internal: *mut ::c_void,
- }
-+
-+ // elf.h
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ }
- }
-
- impl siginfo_t {
-@@ -1480,6 +1542,17 @@ extern "C" {
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
-+ // #include <link.h>
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- cfg_if! {
---- vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs
-@@ -14,6 +14,38 @@ pub type nl_item = ::c_int;
- pub type id_t = i64;
- pub type vm_size_t = ::uintptr_t;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
-+// link.h
-+
- #[cfg_attr(feature = "extra_traits", derive(Debug))]
- pub enum timezone {}
- impl ::Copy for timezone {}
-@@ -233,6 +265,43 @@ s! {
- pub piod_addr: *mut ::c_void,
- pub piod_len: ::size_t,
- }
-+
-+ // elf.h
-+
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ pub dlpi_adds: ::c_ulonglong,
-+ pub dlpi_subs: ::c_ulonglong,
-+ pub dlpi_tls_modid: usize,
-+ pub dlpi_tls_data: *mut ::c_void,
-+ }
- }
-
- s_no_extra_traits! {
-@@ -1514,6 +1583,18 @@ extern "C" {
-
- pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
- pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
-+
-+ // #include <link.h>
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- #[link(name = "rt")]
---- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t;
- pub type lwpid_t = ::c_uint;
- pub type shmatt_t = ::c_uint;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
- impl siginfo_t {
- pub unsafe fn si_value(&self) -> ::sigval {
- #[repr(C)]
-@@ -341,6 +371,42 @@ s! {
- pub time_state: ::c_int,
- }
-
-+ // elf.h
-+
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ pub dlpi_adds: ::c_ulonglong,
-+ pub dlpi_subs: ::c_ulonglong,
-+ pub dlpi_tls_modid: usize,
-+ pub dlpi_tls_data: *mut ::c_void,
-+ }
- }
-
- s_no_extra_traits! {
-@@ -1990,6 +2056,19 @@ extern "C" {
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
-+
-+ // link.h
-+
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- #[link(name = "util")]
---- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs
-@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void;
- pub type pthread_rwlockattr_t = *mut ::c_void;
- pub type caddr_t = *mut ::c_char;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
- s! {
- pub struct glob_t {
- pub gl_pathc: ::size_t,
-@@ -321,6 +351,38 @@ s! {
- __shm_ctimensec: c_long,
- pub shm_internal: *mut ::c_void,
- }
-+
-+ // elf.h
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ }
- }
-
- impl siginfo_t {
-@@ -1482,6 +1544,17 @@ extern "C" {
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
-+ // #include <link.h>
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- cfg_if! {
---- vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc/src/unix/bsd/freebsdlike/mod.rs
-@@ -14,6 +14,38 @@ pub type nl_item = ::c_int;
- pub type id_t = i64;
- pub type vm_size_t = ::uintptr_t;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
-+// link.h
-+
- #[cfg_attr(feature = "extra_traits", derive(Debug))]
- pub enum timezone {}
- impl ::Copy for timezone {}
-@@ -233,6 +265,43 @@ s! {
- pub piod_addr: *mut ::c_void,
- pub piod_len: ::size_t,
- }
-+
-+ // elf.h
-+
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ pub dlpi_adds: ::c_ulonglong,
-+ pub dlpi_subs: ::c_ulonglong,
-+ pub dlpi_tls_modid: usize,
-+ pub dlpi_tls_data: *mut ::c_void,
-+ }
- }
-
- s_no_extra_traits! {
-@@ -1514,6 +1583,18 @@ extern "C" {
-
- pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
- pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
-+
-+ // #include <link.h>
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- #[link(name = "rt")]
---- vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t;
- pub type lwpid_t = ::c_uint;
- pub type shmatt_t = ::c_uint;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
- impl siginfo_t {
- pub unsafe fn si_value(&self) -> ::sigval {
- #[repr(C)]
-@@ -341,6 +371,42 @@ s! {
- pub time_state: ::c_int,
- }
-
-+ // elf.h
-+
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ pub dlpi_adds: ::c_ulonglong,
-+ pub dlpi_subs: ::c_ulonglong,
-+ pub dlpi_tls_modid: usize,
-+ pub dlpi_tls_data: *mut ::c_void,
-+ }
- }
-
- s_no_extra_traits! {
-@@ -2002,6 +2068,19 @@ extern "C" {
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
-+
-+ // link.h
-+
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- #[link(name = "util")]
---- vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC
-+++ vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs
-@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void;
- pub type pthread_rwlockattr_t = *mut ::c_void;
- pub type caddr_t = *mut ::c_char;
-
-+// elf.h
-+
-+pub type Elf32_Addr = u32;
-+pub type Elf32_Half = u16;
-+pub type Elf32_Lword = u64;
-+pub type Elf32_Off = u32;
-+pub type Elf32_Sword = i32;
-+pub type Elf32_Word = u32;
-+
-+pub type Elf64_Addr = u64;
-+pub type Elf64_Half = u16;
-+pub type Elf64_Lword = u64;
-+pub type Elf64_Off = u64;
-+pub type Elf64_Sword = i32;
-+pub type Elf64_Sxword = i64;
-+pub type Elf64_Word = u32;
-+pub type Elf64_Xword = u64;
-+
-+cfg_if! {
-+ if #[cfg(target_pointer_width = "64")] {
-+ type Elf_Addr = Elf64_Addr;
-+ type Elf_Half = Elf64_Half;
-+ type Elf_Phdr = Elf64_Phdr;
-+ } else if #[cfg(target_pointer_width = "32")] {
-+ type Elf_Addr = Elf32_Addr;
-+ type Elf_Half = Elf32_Half;
-+ type Elf_Phdr = Elf32_Phdr;
-+ }
-+}
-+
- s! {
- pub struct glob_t {
- pub gl_pathc: ::size_t,
-@@ -321,6 +351,38 @@ s! {
- __shm_ctimensec: c_long,
- pub shm_internal: *mut ::c_void,
- }
-+
-+ // elf.h
-+ pub struct Elf32_Phdr {
-+ pub p_type: Elf32_Word,
-+ pub p_offset: Elf32_Off,
-+ pub p_vaddr: Elf32_Addr,
-+ pub p_paddr: Elf32_Addr,
-+ pub p_filesz: Elf32_Word,
-+ pub p_memsz: Elf32_Word,
-+ pub p_flags: Elf32_Word,
-+ pub p_align: Elf32_Word,
-+ }
-+
-+ pub struct Elf64_Phdr {
-+ pub p_type: Elf64_Word,
-+ pub p_flags: Elf64_Word,
-+ pub p_offset: Elf64_Off,
-+ pub p_vaddr: Elf64_Addr,
-+ pub p_paddr: Elf64_Addr,
-+ pub p_filesz: Elf64_Xword,
-+ pub p_memsz: Elf64_Xword,
-+ pub p_align: Elf64_Xword,
-+ }
-+
-+ // link.h
-+
-+ pub struct dl_phdr_info {
-+ pub dlpi_addr: Elf_Addr,
-+ pub dlpi_name: *const ::c_char,
-+ pub dlpi_phdr: *const Elf_Phdr,
-+ pub dlpi_phnum: Elf_Half,
-+ }
- }
-
- impl siginfo_t {
-@@ -1482,6 +1544,17 @@ extern "C" {
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
-+ // #include <link.h>
-+ pub fn dl_iterate_phdr(
-+ callback: ::Option<
-+ unsafe extern "C" fn(
-+ info: *mut dl_phdr_info,
-+ size: usize,
-+ data: *mut ::c_void,
-+ ) -> ::c_int,
-+ >,
-+ data: *mut ::c_void,
-+ ) -> ::c_int;
- }
-
- cfg_if! {
diff --git a/lang/rust/files/patch-src_bootstrap_native.rs b/lang/rust/files/patch-src_bootstrap_native.rs
index 215d38d774d4..18a334c6b76c 100644
--- a/lang/rust/files/patch-src_bootstrap_native.rs
+++ b/lang/rust/files/patch-src_bootstrap_native.rs
@@ -1,15 +1,7 @@
-From 9741fbd202b2b55de95abe1eb7f3d8185e312444 Mon Sep 17 00:00:00 2001
-From: Jake Goulding <jake.goulding@gmail.com>
-Date: Sat, 11 Jul 2020 09:38:01 -0400
-Subject: [PATCH] Don't allow `DESTDIR` to influence LLVM builds
-
-When running a command like `DESTDIR=foo x.py install` in a completely
-clean build directory, this will cause LLVM to be installed into
-`DESTDIR`, which then causes the build to fail later when it attempts
-to *use* those LLVM files.
----
- src/bootstrap/native.rs | 5 +++++
- 1 file changed, 5 insertions(+)
+There seems to be some kind of race when using llvm-config-wrapper
+for building rust-lld. Attempt to improve reliability of the build
+by not using it. llvm-config-wrapper is a hack in the first place
+that is only really needed on Windows.
--- src/bootstrap/native.rs.orig 2020-08-24 15:00:49 UTC
+++ src/bootstrap/native.rs
diff --git a/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs b/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs
index 68746fd567bb..5525c1f5aaac 100644
--- a/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs
+++ b/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs
@@ -4,9 +4,9 @@
pointer_width: 64,
data_layout: "E-m:e-i64:64-n32:64".to_string(),
arch: "powerpc64".to_string(),
-- options: TargetOptions { endian: "big".to_string(), mcount: "_mcount".to_string(), ..base },
+- options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
+ options: TargetOptions {
-+ endian: "big".to_string(),
++ endian: Endian::Big,
+ mcount: "_mcount".to_string(),
+ llvm_abiname: "elfv2".to_string(),
+ ..base },
diff --git a/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs b/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs
index d0731d08a3e9..90aecb5a00b7 100644
--- a/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs
+++ b/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs
@@ -10,10 +10,10 @@
+ base.max_atomic_width = Some(64);
+
+ Target {
-+ llvm_target: "powerpc64le-unknown-freebsd".to_string(),
-+ pointer_width: 64,
-+ data_layout: "e-m:e-i64:64-n32:64".to_string(),
-+ arch: "powerpc64".to_string(),
-+ options: TargetOptions { endian: "little".to_string(), mcount: "_mcount".to_string(), ..base },
++ llvm_target: "powerpc64le-unknown-freebsd".to_string(),
++ pointer_width: 64,
++ data_layout: "e-m:e-i64:64-n32:64".to_string(),
++ arch: "powerpc64".to_string(),
++ options: TargetOptions { mcount: "_mcount".to_string(), ..base },
+ }
+}