* [gentoo-commits] proj/musl:master commit in: dev-lang/rust/files/, dev-lang/rust/
@ 2018-01-29 19:34 Aric Belsito
0 siblings, 0 replies; 5+ messages in thread
From: Aric Belsito @ 2018-01-29 19:34 UTC (permalink / raw
To: gentoo-commits
commit: 87eefea7ded24320154805089ad005cdc85ad376
Author: Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Mon Jan 29 19:32:40 2018 +0000
Commit: Aric Belsito <lluixhi <AT> gmail <DOT> com>
CommitDate: Mon Jan 29 19:32:40 2018 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=87eefea7
dev-lang/rust: version bump to 1.23.0-r1
dev-lang/rust/files/1.23.0-separate-libdir.patch | 180 +++++++++++++++++
dev-lang/rust/rust-1.23.0-r1.ebuild | 246 +++++++++++++++++++++++
2 files changed, 426 insertions(+)
diff --git a/dev-lang/rust/files/1.23.0-separate-libdir.patch b/dev-lang/rust/files/1.23.0-separate-libdir.patch
new file mode 100644
index 0000000..dcf1762
--- /dev/null
+++ b/dev-lang/rust/files/1.23.0-separate-libdir.patch
@@ -0,0 +1,180 @@
+From c520b2dd277f13dc09e8e72c486e5c58fb97017d Mon Sep 17 00:00:00 2001
+From: O01eg <o01eg@yandex.ru>
+Date: Wed, 29 Nov 2017 12:32:03 +0300
+Subject: [PATCH] Fix #45345.
+
+Re-implement
+
+```bash
+CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
+```
+
+from old `configure` script.
+
+Accept verbosity in rustdoc.
+
+Stage 1 and later use relative libdir.
+
+Build all stages with relative libdirs.
+
+Add library path for real rustdoc with `RUSTDOC_LIBDIR` environment variable.
+
+Remove unused argument `rustc_cargo`.
+
+Remove unused configuration parameter `libdir_relative`.
+---
+ src/bootstrap/bin/rustdoc.rs | 13 ++++++++++++-
+ src/bootstrap/builder.rs | 9 ++++++---
+ src/bootstrap/check.rs | 2 +-
+ src/bootstrap/compile.rs | 13 ++++---------
+ src/bootstrap/config.rs | 1 -
+ src/bootstrap/doc.rs | 2 +-
+ 6 files changed, 24 insertions(+), 16 deletions(-)
+
+diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
+index 4e975adc97..24312b50ec 100644
+--- a/src/bootstrap/bin/rustdoc.rs
++++ b/src/bootstrap/bin/rustdoc.rs
+@@ -23,10 +23,17 @@ use std::path::PathBuf;
+ fn main() {
+ let args = env::args_os().skip(1).collect::<Vec<_>>();
+ let rustdoc = env::var_os("RUSTDOC_REAL").expect("RUSTDOC_REAL was not set");
+- let libdir = env::var_os("RUSTC_LIBDIR").expect("RUSTC_LIBDIR was not set");
++ let libdir = env::var_os("RUSTDOC_LIBDIR").expect("RUSTDOC_LIBDIR was not set");
+ let stage = env::var("RUSTC_STAGE").expect("RUSTC_STAGE was not set");
+ let sysroot = env::var_os("RUSTC_SYSROOT").expect("RUSTC_SYSROOT was not set");
+
++ use std::str::FromStr;
++
++ let verbose = match env::var("RUSTC_VERBOSE") {
++ Ok(s) => usize::from_str(&s).expect("RUSTC_VERBOSE should be an integer"),
++ Err(_) => 0,
++ };
++
+ let mut dylib_path = bootstrap::util::dylib_path();
+ dylib_path.insert(0, PathBuf::from(libdir));
+
+@@ -59,6 +66,10 @@ fn main() {
+ .arg("--crate-version").arg(version);
+ }
+
++ if verbose > 1 {
++ eprintln!("rustdoc command: {:?}", cmd);
++ }
++
+ std::process::exit(match cmd.status() {
+ Ok(s) => s.code().unwrap_or(1),
+ Err(e) => panic!("\n\nfailed to run {:?}: {}\n\n", cmd, e),
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index c76900882b..1927a604c5 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -357,8 +357,8 @@ impl<'a> Builder<'a> {
+
+ fn run(self, builder: &Builder) -> Interned<PathBuf> {
+ let compiler = self.compiler;
+- let lib = if compiler.stage >= 2 && builder.build.config.libdir_relative.is_some() {
+- builder.build.config.libdir_relative.clone().unwrap()
++ let lib = if compiler.stage >= 1 && builder.build.config.libdir.is_some() {
++ builder.build.config.libdir.clone().unwrap()
+ } else {
+ PathBuf::from("lib")
+ };
+@@ -416,7 +416,7 @@ impl<'a> Builder<'a> {
+ let compiler = self.compiler(self.top_stage, host);
+ cmd.env("RUSTC_STAGE", compiler.stage.to_string())
+ .env("RUSTC_SYSROOT", self.sysroot(compiler))
+- .env("RUSTC_LIBDIR", self.sysroot_libdir(compiler, self.build.build))
++ .env("RUSTDOC_LIBDIR", self.sysroot_libdir(compiler, self.build.build))
+ .env("CFG_RELEASE_CHANNEL", &self.build.config.channel)
+ .env("RUSTDOC_REAL", self.rustdoc(host))
+ .env("RUSTDOC_CRATE_VERSION", self.build.rust_version())
+@@ -496,6 +496,9 @@ impl<'a> Builder<'a> {
+ if let Some(target_linker) = self.build.linker(target) {
+ cargo.env("RUSTC_TARGET_LINKER", target_linker);
+ }
++ if cmd != "build" {
++ cargo.env("RUSTDOC_LIBDIR", self.rustc_libdir(self.compiler(2, self.build.build)));
++ }
+
+ if mode != Mode::Tool {
+ // Tools don't get debuginfo right now, e.g. cargo and rls don't
+diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs
+index 4d69b19c73..d926c2b901 100644
+--- a/src/bootstrap/check.rs
++++ b/src/bootstrap/check.rs
+@@ -1171,7 +1171,7 @@ impl Step for Crate {
+ }
+ Mode::Librustc => {
+ builder.ensure(compile::Rustc { compiler, target });
+- compile::rustc_cargo(build, &compiler, target, &mut cargo);
++ compile::rustc_cargo(build, target, &mut cargo);
+ ("librustc", "rustc-main")
+ }
+ _ => panic!("can only test libraries"),
+diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
+index db013691bb..d60feb1aff 100644
+--- a/src/bootstrap/compile.rs
++++ b/src/bootstrap/compile.rs
+@@ -485,7 +485,7 @@ impl Step for Rustc {
+ build.clear_if_dirty(&stage_out, &libtest_stamp(build, compiler, target));
+
+ let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "build");
+- rustc_cargo(build, &compiler, target, &mut cargo);
++ rustc_cargo(build, target, &mut cargo);
+ run_cargo(build,
+ &mut cargo,
+ &librustc_stamp(build, compiler, target));
+@@ -500,7 +500,6 @@ impl Step for Rustc {
+
+ /// Same as `std_cargo`, but for libtest
+ pub fn rustc_cargo(build: &Build,
+- compiler: &Compiler,
+ target: Interned<String>,
+ cargo: &mut Command) {
+ cargo.arg("--features").arg(build.rustc_features())
+@@ -514,13 +513,9 @@ pub fn rustc_cargo(build: &Build,
+ .env("CFG_VERSION", build.rust_version())
+ .env("CFG_PREFIX", build.config.prefix.clone().unwrap_or_default());
+
+- if compiler.stage == 0 {
+- cargo.env("CFG_LIBDIR_RELATIVE", "lib");
+- } else {
+- let libdir_relative =
+- build.config.libdir_relative.clone().unwrap_or(PathBuf::from("lib"));
+- cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative);
+- }
++ let libdir_relative =
++ build.config.libdir.clone().unwrap_or(PathBuf::from("lib"));
++ cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative);
+
+ // If we're not building a compiler with debugging information then remove
+ // these two env vars which would be set otherwise.
+diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
+index 35e62f17f2..1ca19187cf 100644
+--- a/src/bootstrap/config.rs
++++ b/src/bootstrap/config.rs
+@@ -119,7 +119,6 @@ pub struct Config {
+ pub docdir: Option<PathBuf>,
+ pub bindir: Option<PathBuf>,
+ pub libdir: Option<PathBuf>,
+- pub libdir_relative: Option<PathBuf>,
+ pub mandir: Option<PathBuf>,
+ pub codegen_tests: bool,
+ pub nodejs: Option<PathBuf>,
+diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
+index 3c12cfc4c7..1314d967d8 100644
+--- a/src/bootstrap/doc.rs
++++ b/src/bootstrap/doc.rs
+@@ -616,7 +616,7 @@ impl Step for Rustc {
+ t!(symlink_dir_force(&my_out, &out_dir));
+
+ let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "doc");
+- compile::rustc_cargo(build, &compiler, target, &mut cargo);
++ compile::rustc_cargo(build, target, &mut cargo);
+
+ if build.config.compiler_docs {
+ // src/rustc/Cargo.toml contains a bin crate called rustc which
+--
+2.13.6
+
diff --git a/dev-lang/rust/rust-1.23.0-r1.ebuild b/dev-lang/rust/rust-1.23.0-r1.ebuild
new file mode 100644
index 0000000..8cdf96b
--- /dev/null
+++ b/dev-lang/rust/rust-1.23.0-r1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+LLVM_MAX_SLOT=4
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-any-r1 versionator toolchain-funcs llvm
+
+if [[ ${PV} = *beta* ]]; then
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ MY_P="rustc-beta"
+ SLOT="beta/${PV}"
+ SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
+ KEYWORDS=""
+else
+ ABI_VER="$(get_version_component_range 1-2)"
+ SLOT="stable/${ABI_VER}"
+ MY_P="rustc-${PV}"
+ SRC="${MY_P}-src.tar.xz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+case "${CHOST}" in
+ armv7a-hardfloat-*)
+ RUSTARCH=armv7 ;;
+ arm*)
+ RUSTARCH=arm ;;
+ *)
+ RUSTARCH=${CHOST%%-*} ;;
+esac
+case "${CHOST}" in
+ armv7a-hardfloat-*)
+ RUSTLIBC=${ELIBC/glibc/gnu}eabihf ;;
+ arm*)
+ RUSTLIBC=${ELIBC/glibc/gnu}eabi ;;
+ *)
+ RUSTLIBC=${ELIBC/glibc/gnu} ;;
+esac
+RUSTHOST=${RUSTARCH}-unknown-${KERNEL}-${RUSTLIBC}
+STAGE0_VERSION="1.$(($(get_version_component_range 2) - 0)).0"
+CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2) + 1)).0"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="http://www.rust-lang.org/"
+
+SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
+ amd64? (
+ elibc_glibc? ( https://static.rust-lang.org/dist/rust-${STAGE0_VERSION}-x86_64-unknown-linux-gnu.tar.xz )
+ elibc_musl? ( https://portage.smaeul.xyz/distfiles/rust-${STAGE0_VERSION}-x86_64-unknown-linux-musl.tar.xz )
+ )
+ arm? (
+ elibc_glibc? (
+ https://static.rust-lang.org/dist/rust-${STAGE0_VERSION}-arm-unknown-linux-gnueabi.tar.xz
+ https://static.rust-lang.org/dist/rust-${STAGE0_VERSION}-armv7-unknown-linux-gnueabihf.tar.xz
+ )
+ elibc_musl? (
+ https://portage.smaeul.xyz/distfiles/rust-${STAGE0_VERSION}-arm-unknown-linux-musleabi.tar.xz
+ https://portage.smaeul.xyz/distfiles/rust-${STAGE0_VERSION}-armv7-unknown-linux-musleabihf.tar.xz
+ )
+ )
+ x86? (
+ elibc_glibc? ( https://static.rust-lang.org/dist/rust-${STAGE0_VERSION}-i686-unknown-linux-gnu.tar.xz )
+ elibc_musl? ( https://portage.smaeul.xyz/distfiles/rust-${STAGE0_VERSION}-i686-unknown-linux-musl.tar.xz )
+ )
+"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="debug doc extended jemalloc system-llvm"
+
+RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
+ jemalloc? ( dev-libs/jemalloc )
+ system-llvm? ( sys-devel/llvm:4 )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ || (
+ >=sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ !system-llvm? (
+ >=dev-util/cmake-3.4.3
+ dev-util/ninja
+ )
+"
+PDEPEND="!extended? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )"
+
+PATCHES=(
+ "${FILESDIR}/1.23.0-separate-libdir.patch"
+ "${FILESDIR}/0001-Require-static-native-libraries-when-linking-static-.patch"
+ "${FILESDIR}/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch"
+ "${FILESDIR}/0003-Switch-musl-targets-to-link-dynamically-by-default.patch"
+ "${FILESDIR}/0004-Prefer-libgcc_eh-over-libunwind-for-musl.patch"
+ "${FILESDIR}/0005-Fix-LLVM-build.patch"
+ "${FILESDIR}/0006-Fix-rustdoc-for-cross-targets.patch"
+ "${FILESDIR}/0007-Add-openssl-configuration-for-musl-targets.patch"
+ "${FILESDIR}/0008-Don-t-pass-CFLAGS-to-the-C-compiler.patch"
+ "${FILESDIR}/0009-liblibc.patch"
+ "${FILESDIR}/llvm-musl-fixes.patch"
+)
+
+S="${WORKDIR}/${MY_P}-src"
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pkg_setup() {
+ export RUST_BACKTRACE=1
+ if use system-llvm; then
+ llvm_pkg_setup
+ local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
+
+ export LLVM_LINK_SHARED=1
+ export RUSTFLAGS="$RUSTFLAGS -Lnative=$("$llvm_config" --libdir)"
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ "${WORKDIR}/rust-${STAGE0_VERSION}-${RUSTHOST}/install.sh" \
+ --prefix="${WORKDIR}/stage0" \
+ --components=rust-std-${RUSTHOST},rustc,cargo \
+ --disable-ldconfig \
+ || die
+}
+
+src_configure() {
+ cat <<- EOF > "${S}"/config.toml
+ [llvm]
+ ninja = true
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ [build]
+ build = "${RUSTHOST}"
+ host = ["${RUSTHOST}"]
+ target = ["${RUSTHOST}"]
+ cargo = "${WORKDIR}/stage0/bin/cargo"
+ rustc = "${WORKDIR}/stage0/bin/rustc"
+ docs = $(toml_usex doc)
+ compiler-docs = $(toml_usex doc)
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ verbose = 2
+ extended = $(toml_usex extended)
+ [install]
+ prefix = "${EPREFIX}/usr"
+ libdir = "$(get_libdir)"
+ docdir = "share/doc/${P}"
+ mandir = "share/${P}/man"
+ [rust]
+ optimize = $(toml_usex !debug)
+ debuginfo = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ use-jemalloc = $(toml_usex jemalloc)
+ default-linker = "$(tc-getCC)"
+ channel = "${SLOT%%/*}"
+ rpath = false
+ optimize-tests = $(toml_usex !debug)
+ [dist]
+ src-tarball = false
+ [target.${RUSTHOST}]
+ cc = "$(tc-getBUILD_CC)"
+ cxx = "$(tc-getBUILD_CXX)"
+ linker = "$(tc-getCC)"
+ ar = "$(tc-getAR)"
+ EOF
+ use system-llvm && cat <<- EOF >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
+ EOF
+}
+
+src_compile() {
+ ./x.py build || die
+}
+
+src_install() {
+ env DESTDIR="${D}" ./x.py install || die
+
+ rm "${D}/usr/$(get_libdir)/rustlib/components" || die
+ rm "${D}/usr/$(get_libdir)/rustlib/install.log" || die
+ rm "${D}/usr/$(get_libdir)/rustlib/manifest-rust-std-${RUSTHOST}" || die
+ rm "${D}/usr/$(get_libdir)/rustlib/manifest-rustc" || die
+ rm "${D}/usr/$(get_libdir)/rustlib/rust-installer-version" || die
+ rm "${D}/usr/$(get_libdir)/rustlib/uninstall.sh" || die
+
+ mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
+ mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
+ mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die
+ mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die
+
+ if use doc; then
+ rm "${D}/usr/$(get_libdir)/rustlib/manifest-rust-docs" || die
+ fi
+
+ rm "${D}/usr/share/doc/${P}/LICENSE-APACHE" || die
+ rm "${D}/usr/share/doc/${P}/LICENSE-MIT" || die
+
+ docompress "/usr/share/${P}/man"
+
+ cat <<-EOF > "${T}"/50${P}
+ MANPATH="/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-lldb
+ EOF
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] proj/musl:master commit in: dev-lang/rust/files/, dev-lang/rust/
@ 2021-03-13 21:34 Sam James
0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2021-03-13 21:34 UTC (permalink / raw
To: gentoo-commits
commit: 71a71aab031165523fa45036418d1d4d614d5ff1
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 13 21:33:55 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 13 21:33:55 2021 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=71a71aab
Revert "dev-lang/rust: sync with ::smaeul"
This reverts commit 72f75a1d9c85d818088e91722ef3e564bc30f3cc.
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-lang/rust/Manifest | 35 +-
.../0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch | 16 +-
dev-lang/rust/files/0002-Fix-LLVM-build.patch | 27 +-
...tdoc-to-work-when-cross-compiling-on-musl.patch | 36 ++
...-Fix-linking-to-zlib-when-cross-compiling.patch | 34 --
...-Fix-rustdoc-when-cross-compiling-on-musl.patch | 45 --
...ic-native-libraries-when-linking-static-.patch} | 41 +-
...-nostdlib-and-musl_root-from-musl-targets.patch | 388 +++++++++++++++
...-Prefer-libgcc_eh-over-libunwind-for-musl.patch | 24 +
...l_root-and-CRT-fallback-from-musl-targets.patch | 486 -------------------
...-Prefer-libgcc_eh-over-libunwind-for-musl.patch | 38 --
...untest-Fix-proc-macro-tests-on-musl-hosts.patch | 37 ++
...rect-minimum-system-LLVM-version-in-tests.patch | 206 ++++++++
...nk-libssp_nonshared.a-on-all-musl-targets.patch | 29 --
...t-failed-doctest-output-Fix-normalization.patch | 36 --
...extern-for-plugins-Don-t-assume-multilib.patch} | 12 +-
...t-crates-are-unstable-Fix-test-when-rpath.patch | 12 +-
...1-Ignore-broken-and-non-applicable-tests.patch} | 59 ++-
...-Link-stage-2-tools-dynamically-to-libstd.patch | 27 ++
...-Link-stage-2-tools-dynamically-to-libstd.patch | 25 -
...3-Move-debugger-scripts-to-usr-share-rust.patch | 53 ++
...cs.patch => 0014-Add-gentoo-target-specs.patch} | 58 +--
...4-Move-debugger-scripts-to-usr-share-rust.patch | 69 ---
dev-lang/rust/files/0030-libc-linkage.patch | 34 --
dev-lang/rust/files/0030-liblibc-linkage.patch | 33 ++
dev-lang/rust/files/0040-rls-atomics.patch | 20 +-
dev-lang/rust/files/0050-llvm.patch | 6 +-
dev-lang/rust/files/0051-llvm-D45520.patch | 101 ++++
dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch | 12 -
dev-lang/rust/files/0052-llvm-D52013.patch | 15 +
dev-lang/rust/files/0053-llvm-secureplt.patch | 28 ++
.../files/0060-fix-build-with-libressl-2.9.1.patch | 35 ++
...46.0-don-t-create-prefix-at-time-of-check.patch | 31 --
dev-lang/rust/files/1.47.0-libressl.patch | 44 --
dev-lang/rust/metadata.xml | 23 +-
dev-lang/rust/rust-1.34.2.ebuild | 337 +++++++++++++
dev-lang/rust/rust-1.47.0-r1.ebuild | 531 ---------------------
37 files changed, 1481 insertions(+), 1562 deletions(-)
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 5a289f2..8111391 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,28 +1,7 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-DIST rust-1.46.0-aarch64-gentoo-linux-musl.tar.xz 101117048 BLAKE2B ef9fafab60b24d5896f1d2c66718945946c0178c3434b1993add6056e3c88fab7d51923942d398bf2d0fbc0a1a9220dcef37ac289a421c3a1f6bcc6b7c755a46 SHA512 764f909849f91d3cbd071d96d6947b08b45f08b3bbd523fcea4310abc807957b0bb3b696e955182ab888c400b6c830442610d3bc510583afe0c910141514d438
-DIST rust-1.46.0-armv7a-unknown-linux-musleabihf.tar.xz 100547468 BLAKE2B 798183dee50e9e35ed2be6d21d89e49265a0764dde904409a5a52a6b0f9856b8ae566daf7651b2071c996930ca9079e39fe246cdce80eea7dc5bee5ce0b3802e SHA512 ad164673320c33a49abfd9e571291beb2394f35b03d913ab70d9da27d38427440efe87a17e0d15b4021c4355be812ab5fe5c02f9ab8f8d6d3d799a872a02ac0f
-DIST rust-1.46.0-i686-gentoo-linux-musl.tar.xz 113552128 BLAKE2B 994911aa66c8f4e6e36b3037febdf2fe1586f478a127604988858fb6bead13da2e46e6d4e2d91496ca399402db00c153fe0e77a788a7f13847ba0ebfd90dff86 SHA512 c00c7992914c4a02827e3011cad59e454f5778f2fc6224928fb1fdf5f39752474473a41273700350b54de6d940ba0964a77a341a435e8ea8f7b9750f64454dd0
-DIST rust-1.46.0-powerpc-gentoo-linux-musl.tar.xz 110418132 BLAKE2B a661d32c68f6b51ab4d023799b4d6b5246062fc34f09967b53354b765f41f3f8c354df616d9085fe1f8e29610feb676fe19570b01e2d8f34a6603fd254cbfb1b SHA512 45c76e6fd031e76d49c479d37bf5a3c691bc338f169b702645978a7eb21b912314e7e448004abc49c07068dec8d6a4933370258ded7653622190df15d34899db
-DIST rust-1.46.0-powerpc64-gentoo-linux-musl.tar.xz 94308552 BLAKE2B 1efc31c94e956180e4ad450e1d9f30996941b2754a163c57b35b1de9eda4abae80a3e90565c8170a3127fb7a95e91d08f6559c1e13e29b4cb14101dc457621ea SHA512 ed798d1d3c4353e469d3a94b25e057849ebd9bc03a8857478f6daa0b9b52dc4b026f07d637d60f9df67a12f06ee1f80c846c10871a16477a6b8ab94a93d2c3e8
-DIST rust-1.46.0-x86_64-gentoo-linux-musl.tar.xz 109962300 BLAKE2B d39f304b23e2d0c1c3729e9019608a283116db3199c8c1cc7610269c0b31de0fde782d7a3ea0f05a2be4676815556902b98627ddf57a18783f291a489ad1aa47 SHA512 2efbfbf33e1f5ef85e449eeac4a57cb6b4cc54eec33809ab211fdb84be3c03bcd5838d0ff5669c1991564e2a553c73aec0f2e7eca8912b59050f92a913eefd2c
-DIST rustc-1.47.0-src.tar.xz 104143736 BLAKE2B 0454094dde35275488046826da87655e51bf0795481d6d08fd70d644bfc12481bca8641166106ef32f20494906025244715b16ff21a1c023f4bd2818aab42521 SHA512 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9
------BEGIN PGP SIGNATURE-----
-
-iQKTBAEBCAB9FiEEZdLCSnfk9z83VSkfsaMsEcx8U7oFAmBMSUVfFIAAAAAALgAo
-aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDY1
-RDJDMjRBNzdFNEY3M0YzNzU1MjkxRkIxQTMyQzExQ0M3QzUzQkEACgkQsaMsEcx8
-U7p7Ww//RewZS0qjL32uR/Dr/ljrSEY2Yi/YqKxTzdT067ksG017bmboBWVUi6AZ
-92nD8fAiNtUl5nDneW7SD9lQaLdYPUrC+IDHB+z5hh02V1VRXL4FMbyXx/rEmZaw
-sTAUVdooJgG2Hqu0tYe/+YsaTs0j0qizaWrTVaa1hWXUIKf+KK/IePt4p5yj4rpa
-v2KmiW32gEi1Mydch1pBLl9V7HNdqnlnb+A/RCnvHIsv4neEP6s3Y2gbkj7anJ1I
-IXbEcx8iXmIGXPJBjf3JOpfsQ5Ww1mxf89SBPeEChFgV7hcsHih1MZrdSptnUE67
-0dnnbdQlbPeQGXKJWoQ9Ygpbx1k6tAX1j7kj+kRjQlk7jALxA597BcaNTRpX6dEr
-kp/UaJGrjaBQyV8MqapsH/iuh3BZI/OC7p2n9Fcc+WJHuDklWOBFlAac0dwQ2Q1W
-jnWLZfr2E/HM59VbUdZb801Xreh8jWHJRxtS9Y24qI+i2vGQYd1KYxFFn4f2xjb8
-z8s21pYEcHH/anPslqqOqZCO9q+tJdPSinHfwEfbtgsQ93ZnrKa6rl/viKU+2LfQ
-c1vNaoHzqr5ZRNNavts6SFxEF44IqddSQNdaeMSUL6D72w7EJE1c9kIW5vUrP8sc
-tbemF58TNgFX0ABi0Xo0qtXPQKsEtE/e1yrgdFarWKvSUR3I828=
-=4ZOz
------END PGP SIGNATURE-----
+DIST rust-1.33.0-aarch64-gentoo-linux-musl.tar.xz 103260664 BLAKE2B 2eeecf50ab275abc5679e4be56c3322c1967bbb1926e375910df1d3b5aee042cbb37c56ecede542668a63360bc9db82ec731a927a180399df99b30ff09b70c15 SHA512 de9ae088cc4ca76fc619dc8de4fe7f362bc8039c03d9b09ab905b7e551ef0b0fa2d678a984200efddfee542adf5f5a951bd24788a39940bace03d3fe829f4747
+DIST rust-1.33.0-armv7a-unknown-linux-musleabihf.tar.xz 102032976 BLAKE2B 9f00a004d575962ca3dd3d0d70190210111e9347f35e6858fc30a085495d48a03751645bfdb4940c7db2dc8bf74d08611dfec05fe53e5022e7360ed51c39f33a SHA512 45b5af051663c7ee7ff7c663af57dfbaaa3c9f69dd22c36134534e77a715d1acc101891f4a7e798fcab38e8accd284cc15df35da20552872894bc6da6dab89ff
+DIST rust-1.33.0-i686-gentoo-linux-musl.tar.xz 116133752 BLAKE2B a9cf13caa12da6ad20bbcbb592d3fa423eb6f90d50c9af41db17cb2f587d0ef90d19652e75742da49d8e187c8e393137998e384b5d9686cfff28553c7aab1f71 SHA512 eaef8169451b02cdee67fe40def8d0ab0d91e527ad4964b8bdafca8677bd2bcea265ba3be5a90c99589b8639ca3e026a540d295a5233f73da873e56e9ffea83f
+DIST rust-1.33.0-powerpc-gentoo-linux-musl.tar.xz 104602692 BLAKE2B bef7cacfd7d9e411f18f6b64403c3bdc33bb17270f966aa9cb6ff99e80d8da9bd1346e8c3e3081df7bee3f367d3940b3badd6aeec6859f4a3de75cfeb108de1a SHA512 2314b5d31c9cc31b28a3668ebd4e1a88a4f090c60b141c8e3e4fb06b4c311ef64ab9217acbdb34417e1f3aaf74fda2087ba90ad70075b7197471bf8bfc804370
+DIST rust-1.33.0-powerpc64-gentoo-linux-musl.tar.xz 98455708 BLAKE2B fde1ca61ddcfe1091aa2c39ffb9ea47ef4ef2b63557059eeda4df6c90bcf30b22bf09e0bd301d7993d27d18e0c5dbc84db123613a8ac31c68abcb56d1b3892bc SHA512 9dbe37abd4edd519ac3596d405b9af7a4a3de1da56161bed66f9f2f40d505beaa9d7c998c6775d6c86d4e086e5cb085f65702b6be7a182663c1e0c6b2095a242
+DIST rust-1.33.0-x86_64-gentoo-linux-musl.tar.xz 113838416 BLAKE2B 2d118520a118746ca16aac7b336e03805c3a02df20b2abdd2e9f6a4fcc062c17b0d057347447027287f8fdceeaa34a171835e6f22d45098097b540c97cee23a1 SHA512 cd2a6277af99cfaf84f5d293a09e0af9189e1d9148bc4031dd32620f0eb086695e175c6a04e6cceb673af976566114e4a75d42654505d295135a8fc95eb2f850
+DIST rustc-1.34.2-src.tar.xz 95048792 BLAKE2B e81e4bfda87ddfb09ab8a74792346970aa440c678d2bb1279c329db4929282f761ada6fea9d81ceeecfd513613025c8e636487626fc36bd0b33559e045bb1b15 SHA512 f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381
diff --git a/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
index 40bf4dc..f4df88e 100644
--- a/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+++ b/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
@@ -1,26 +1,26 @@
-From ba948554d0241f52fdc762abf21c101445d1fdc4 Mon Sep 17 00:00:00 2001
+From 4b5cdf991eb8776927a2730ed73446559856b468 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Wed, 10 Jan 2018 13:36:41 -0600
-Subject: [PATCH 01/15] Don't pass CFLAGS to the C++ compiler
+Subject: [PATCH 01/14] Don't pass CFLAGS to the C++ compiler
---
src/bootstrap/builder.rs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 6446fa7550d..29fec3a5717 100644
+index a471af2576..f4273729bb 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
-@@ -1244,8 +1244,7 @@ impl<'a> Builder<'a> {
+@@ -1068,8 +1068,7 @@ impl<'a> Builder<'a> {
if let Ok(cxx) = self.cxx(target) {
let cxx = ccacheify(&cxx);
cargo
-- .env(format!("CXX_{}", target.triple), &cxx)
-- .env(format!("CXXFLAGS_{}", target.triple), cflags);
-+ .env(format!("CXX_{}", target.triple), &cxx);
+- .env(format!("CXX_{}", target), &cxx)
+- .env(format!("CXXFLAGS_{}", target), cflags);
++ .env(format!("CXX_{}", target), &cxx);
}
}
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0002-Fix-LLVM-build.patch b/dev-lang/rust/files/0002-Fix-LLVM-build.patch
index c04d445..0a8ecec 100644
--- a/dev-lang/rust/files/0002-Fix-LLVM-build.patch
+++ b/dev-lang/rust/files/0002-Fix-LLVM-build.patch
@@ -1,25 +1,26 @@
-From def3b8596d3d0bccff07f2524b96d2f490b9aa82 Mon Sep 17 00:00:00 2001
+From 22fac16a9a1651eb9ac121761583ff6031a15077 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:04:29 -0500
-Subject: [PATCH 02/15] Fix LLVM build
+Subject: [PATCH 02/14] Fix LLVM build
---
- src/bootstrap/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/bootstrap/lib.rs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index a42ee11bd6f..77316c734b8 100644
+index 7e6fbdff12..f1e7f05aa9 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
-@@ -798,7 +798,7 @@ impl Build {
- .args()
- .iter()
- .map(|s| s.to_string_lossy().into_owned())
-- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-+ .filter(|s| !s.starts_with("-O") && !s.starts_with("/O") && !s.starts_with("-static"))
- .collect::<Vec<String>>();
+@@ -764,7 +764,8 @@ impl Build {
+ // cc-rs because the build scripts will determine that for themselves.
+ let mut base = self.cc[&target].args().iter()
+ .map(|s| s.to_string_lossy().into_owned())
+- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
++ .filter(|s| !s.starts_with("-O") && !s.starts_with("/O")
++ && !s.starts_with("-static"))
+ .collect::<Vec<String>>();
// If we're compiling on macOS then we add a few unconditional flags
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch b/dev-lang/rust/files/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
new file mode 100644
index 0000000..087dea2
--- /dev/null
+++ b/dev-lang/rust/files/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
@@ -0,0 +1,36 @@
+From c4565fab697249c4233c97f7855fe692a5a880a4 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sat, 2 Dec 2017 17:25:44 -0600
+Subject: [PATCH 03/14] Allow rustdoc to work when cross-compiling on musl
+
+musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
+---
+ src/bootstrap/bin/rustdoc.rs | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
+index 52b5971f0a..c779e35e26 100644
+--- a/src/bootstrap/bin/rustdoc.rs
++++ b/src/bootstrap/bin/rustdoc.rs
+@@ -23,9 +23,6 @@ fn main() {
+ Err(_) => 0,
+ };
+
+- let mut dylib_path = bootstrap::util::dylib_path();
+- dylib_path.insert(0, PathBuf::from(libdir.clone()));
+-
+ //FIXME(misdreavus): once stdsimd uses cfg(rustdoc) instead of cfg(dox), remove the `--cfg dox`
+ //arguments here
+ let mut cmd = Command::new(rustdoc);
+@@ -37,7 +34,7 @@ fn main() {
+ .arg("--sysroot")
+ .arg(sysroot)
+ .env(bootstrap::util::dylib_path_var(),
+- env::join_paths(&dylib_path).unwrap());
++ PathBuf::from(libdir.clone()));
+
+ // Force all crates compiled by this compiler to (a) be unstable and (b)
+ // allow the `rustc_private` feature to link to other unstable crates
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch b/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch
deleted file mode 100644
index 4c9f06c..0000000
--- a/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 466ffdcb0b132ce135242180e66097ba178122b9 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 1 Nov 2020 20:13:23 -0600
-Subject: [PATCH 03/15] Fix linking to zlib when cross-compiling
-
----
- src/librustc_llvm/build.rs | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/librustc_llvm/build.rs b/src/librustc_llvm/build.rs
-index 25c0b40c495..485cd05ad63 100644
---- a/src/librustc_llvm/build.rs
-+++ b/src/librustc_llvm/build.rs
-@@ -192,14 +192,13 @@ fn main() {
- // of llvm-config, not the target that we're attempting to link.
- let mut cmd = Command::new(&llvm_config);
- cmd.arg(llvm_link_arg).arg("--libs");
-+ cmd.arg("--system-libs");
-+ cmd.args(&components);
-
-- if !is_crossed {
-- cmd.arg("--system-libs");
-- } else if target.contains("windows-gnu") {
-+ if target.contains("windows-gnu") {
- println!("cargo:rustc-link-lib=shell32");
- println!("cargo:rustc-link-lib=uuid");
- }
-- cmd.args(&components);
-
- for lib in output(&mut cmd).split_whitespace() {
- let name = if lib.starts_with("-l") {
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch b/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
deleted file mode 100644
index c6a7d79..0000000
--- a/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From db1328ce566169bf174beb82648eb9b3f075adee Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sat, 2 Dec 2017 17:25:44 -0600
-Subject: [PATCH 04/15] Fix rustdoc when cross-compiling on musl
-
-musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
----
- src/bootstrap/bin/rustdoc.rs | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
-index ab846adf942..bb4cbb038f3 100644
---- a/src/bootstrap/bin/rustdoc.rs
-+++ b/src/bootstrap/bin/rustdoc.rs
-@@ -21,9 +21,6 @@ fn main() {
- Err(_) => 0,
- };
-
-- let mut dylib_path = bootstrap::util::dylib_path();
-- dylib_path.insert(0, PathBuf::from(libdir.clone()));
--
- //FIXME(misdreavus): once stdsimd uses cfg(doc) instead of cfg(dox), remove the `--cfg dox`
- //arguments here
- let mut cmd = Command::new(rustdoc);
-@@ -34,7 +31,7 @@ fn main() {
- .arg("dox")
- .arg("--sysroot")
- .arg(&sysroot)
-- .env(bootstrap::util::dylib_path_var(), env::join_paths(&dylib_path).unwrap());
-+ .env(bootstrap::util::dylib_path_var(), PathBuf::from(libdir.clone()));
-
- // Force all crates compiled by this compiler to (a) be unstable and (b)
- // allow the `rustc_private` feature to link to other unstable crates
-@@ -59,7 +56,7 @@ fn main() {
- eprintln!(
- "rustdoc command: {:?}={:?} {:?}",
- bootstrap::util::dylib_path_var(),
-- env::join_paths(&dylib_path).unwrap(),
-+ PathBuf::from(libdir.clone()),
- cmd,
- );
- eprintln!("sysroot: {:?}", sysroot);
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch b/dev-lang/rust/files/0004-Require-static-native-libraries-when-linking-static-.patch
similarity index 56%
rename from dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch
rename to dev-lang/rust/files/0004-Require-static-native-libraries-when-linking-static-.patch
index 5d1836d..6238e50 100644
--- a/dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch
+++ b/dev-lang/rust/files/0004-Require-static-native-libraries-when-linking-static-.patch
@@ -1,7 +1,7 @@
-From f108b83c877724fd9f94f087fc529765c9bbdb14 Mon Sep 17 00:00:00 2001
+From 859624e56281aff33673dcceb34698bd30eceea3 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:05:18 -0500
-Subject: [PATCH 05/15] Use static native libraries when linking static
+Subject: [PATCH 04/14] Require static native libraries when linking static
executables
On ELF targets like Linux, gcc/ld will create a dynamically-linked
@@ -9,15 +9,17 @@ executable without warning, even when passed `-static`, when asked to
link to a `.so`. Avoid this confusing and unintended behavior by always
using the static version of libraries when trying to link static
executables.
+
+Fixes #54243
---
- src/librustc_codegen_ssa/back/link.rs | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
+ src/librustc_codegen_llvm/back/link.rs | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
-diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs
-index bfcf979d125..70bc9d5e980 100644
---- a/src/librustc_codegen_ssa/back/link.rs
-+++ b/src/librustc_codegen_ssa/back/link.rs
-@@ -2057,9 +2057,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
+diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs
+index 819f7f9410..49adc5dfca 100644
+--- a/src/librustc_codegen_llvm/back/link.rs
++++ b/src/librustc_codegen_llvm/back/link.rs
+@@ -1413,9 +1413,7 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker,
}
}
@@ -28,28 +30,27 @@ index bfcf979d125..70bc9d5e980 100644
//
// 1. The upstream crate is an rlib. In this case we *must* link in the
// native dependency because the rlib is just an archive.
-@@ -2108,7 +2106,20 @@ fn add_upstream_native_libraries(
- continue;
+@@ -1458,7 +1456,19 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker,
+ continue
}
match lib.kind {
-- NativeLibKind::Dylib | NativeLibKind::Unspecified => cmd.link_dylib(name),
-+ NativeLibKind::Unspecified => {
+- NativeLibraryKind::NativeUnknown => cmd.link_dylib(&name.as_str()),
++ NativeLibraryKind::NativeUnknown => {
+ // On some targets, like Linux, linking a static executable inhibits using
+ // dylibs at all. Force native libraries to be static, even if for example
+ // an upstream rlib was originally linked against a native shared library.
+ if crate_type == config::CrateType::Executable
-+ && sess.crt_static(Some(crate_type))
++ && sess.crt_static()
+ && !sess.target.target.options.crt_static_allows_dylibs
+ {
-+ cmd.link_staticlib(name)
++ cmd.link_staticlib(&name.as_str())
+ } else {
-+ cmd.link_dylib(name)
++ cmd.link_dylib(&name.as_str())
+ }
+ },
-+ NativeLibKind::Dylib => cmd.link_dylib(name),
- NativeLibKind::Framework => cmd.link_framework(name),
- NativeLibKind::StaticNoBundle => {
+ NativeLibraryKind::NativeFramework => cmd.link_framework(&name.as_str()),
+ NativeLibraryKind::NativeStaticNobundle => {
// Link "static-nobundle" native libs only if the crate they originate from
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/dev-lang/rust/files/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
new file mode 100644
index 0000000..b8ca293
--- /dev/null
+++ b/dev-lang/rust/files/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -0,0 +1,388 @@
+From d84f9863017bd4bb38c5a2063c679dc3132ecf28 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Fri, 8 Sep 2017 22:11:14 -0500
+Subject: [PATCH 05/14] Remove -nostdlib and musl_root from musl targets
+
+---
+ config.toml.example | 6 ----
+ src/bootstrap/bin/rustc.rs | 12 --------
+ src/bootstrap/cc_detect.rs | 27 ++----------------
+ src/bootstrap/compile.rs | 21 --------------
+ src/bootstrap/config.rs | 7 -----
+ src/bootstrap/configure.py | 22 ---------------
+ src/bootstrap/lib.rs | 8 ------
+ src/bootstrap/sanity.rs | 28 -------------------
+ .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 --
+ src/ci/docker/dist-various-1/Dockerfile | 7 -----
+ src/ci/docker/dist-x86_64-musl/Dockerfile | 1 -
+ src/librustc_target/spec/linux_musl_base.rs | 16 -----------
+ 12 files changed, 3 insertions(+), 154 deletions(-)
+
+diff --git a/config.toml.example b/config.toml.example
+index f45db37c33..50692bf74a 100644
+--- a/config.toml.example
++++ b/config.toml.example
+@@ -470,12 +470,6 @@
+ # only use static libraries. If unset, the target's default linkage is used.
+ #crt-static = false
+
+-# The root location of the MUSL installation directory. The library directory
+-# will also need to contain libunwind.a for an unwinding implementation. Note
+-# that this option only makes sense for MUSL targets that produce statically
+-# linked binaries
+-#musl-root = "..."
+-
+ # Used in testing for configuring where the QEMU images are located, you
+ # probably don't want to use this.
+ #qemu-rootfs = "..."
+diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
+index b6afe317a0..0eace41a5a 100644
+--- a/src/bootstrap/bin/rustc.rs
++++ b/src/bootstrap/bin/rustc.rs
+@@ -18,7 +18,6 @@
+ #![deny(warnings)]
+
+ use std::env;
+-use std::ffi::OsString;
+ use std::io;
+ use std::path::PathBuf;
+ use std::process::Command;
+@@ -114,17 +113,6 @@ fn main() {
+ cmd.arg("-Cprefer-dynamic");
+ }
+
+- // Help the libc crate compile by assisting it in finding the MUSL
+- // native libraries.
+- if let Some(s) = env::var_os("MUSL_ROOT") {
+- if target.contains("musl") {
+- let mut root = OsString::from("native=");
+- root.push(&s);
+- root.push("/lib");
+- cmd.arg("-L").arg(&root);
+- }
+- }
+-
+ // Override linker if necessary.
+ if let Ok(target_linker) = env::var("RUSTC_TARGET_LINKER") {
+ cmd.arg(format!("-Clinker={}", target_linker));
+diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
+index dfc243b705..848d1d4b2b 100644
+--- a/src/bootstrap/cc_detect.rs
++++ b/src/bootstrap/cc_detect.rs
+@@ -84,7 +84,7 @@ pub fn find(build: &mut Build) {
+ if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
+ cfg.compiler(cc);
+ } else {
+- set_compiler(&mut cfg, Language::C, target, config, build);
++ set_compiler(&mut cfg, Language::C, target, config);
+ }
+
+ let compiler = cfg.get_compiler();
+@@ -113,7 +113,7 @@ pub fn find(build: &mut Build) {
+ if let Some(cxx) = config.and_then(|c| c.cxx.as_ref()) {
+ cfg.compiler(cxx);
+ } else {
+- set_compiler(&mut cfg, Language::CPlusPlus, host, config, build);
++ set_compiler(&mut cfg, Language::CPlusPlus, host, config);
+ }
+ let compiler = cfg.get_compiler();
+ build.verbose(&format!("CXX_{} = {:?}", host, compiler.path()));
+@@ -124,8 +124,7 @@ pub fn find(build: &mut Build) {
+ fn set_compiler(cfg: &mut cc::Build,
+ compiler: Language,
+ target: Interned<String>,
+- config: Option<&Target>,
+- build: &Build) {
++ config: Option<&Target>) {
+ match &*target {
+ // When compiling for android we may have the NDK configured in the
+ // config.toml in which case we look there. Otherwise the default
+@@ -165,26 +164,6 @@ fn set_compiler(cfg: &mut cc::Build,
+ }
+ }
+
+- "mips-unknown-linux-musl" => {
+- if cfg.get_compiler().path().to_str() == Some("gcc") {
+- cfg.compiler("mips-linux-musl-gcc");
+- }
+- }
+- "mipsel-unknown-linux-musl" => {
+- if cfg.get_compiler().path().to_str() == Some("gcc") {
+- cfg.compiler("mipsel-linux-musl-gcc");
+- }
+- }
+-
+- t if t.contains("musl") => {
+- if let Some(root) = build.musl_root(target) {
+- let guess = root.join("bin/musl-gcc");
+- if guess.exists() {
+- cfg.compiler(guess);
+- }
+- }
+- }
+-
+ _ => {}
+ }
+ }
+diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
+index 249a183189..bfc62c762a 100644
+--- a/src/bootstrap/compile.rs
++++ b/src/bootstrap/compile.rs
+@@ -114,21 +114,6 @@ impl Step for Std {
+ fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: Interned<String>) {
+ let libdir = builder.sysroot_libdir(*compiler, target);
+
+- // Copies the crt(1,i,n).o startup objects
+- //
+- // Since musl supports fully static linking, we can cross link for it even
+- // with a glibc-targeting toolchain, given we have the appropriate startup
+- // files. As those shipped with glibc won't work, copy the ones provided by
+- // musl so we have them on linux-gnu hosts.
+- if target.contains("musl") {
+- for &obj in &["crt1.o", "crti.o", "crtn.o"] {
+- builder.copy(
+- &builder.musl_root(target).unwrap().join("lib").join(obj),
+- &libdir.join(obj),
+- );
+- }
+- }
+-
+ // Copies libunwind.a compiled to be linked wit x86_64-fortanix-unknown-sgx.
+ //
+ // This target needs to be linked to Fortanix's port of llvm's libunwind.
+@@ -182,12 +167,6 @@ pub fn std_cargo(builder: &Builder<'_>,
+ cargo.arg("--features").arg(features)
+ .arg("--manifest-path")
+ .arg(builder.src.join("src/libstd/Cargo.toml"));
+-
+- if target.contains("musl") {
+- if let Some(p) = builder.musl_root(target) {
+- cargo.env("MUSL_ROOT", p);
+- }
+- }
+ }
+ }
+
+diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
+index 7d3e584f1a..3f0113e11a 100644
+--- a/src/bootstrap/config.rs
++++ b/src/bootstrap/config.rs
+@@ -132,8 +132,6 @@ pub struct Config {
+ pub print_step_timings: bool,
+ pub missing_tools: bool,
+
+- // Fallback musl-root for all targets
+- pub musl_root: Option<PathBuf>,
+ pub prefix: Option<PathBuf>,
+ pub sysconfdir: Option<PathBuf>,
+ pub datadir: Option<PathBuf>,
+@@ -168,7 +166,6 @@ pub struct Target {
+ pub linker: Option<PathBuf>,
+ pub ndk: Option<PathBuf>,
+ pub crt_static: Option<bool>,
+- pub musl_root: Option<PathBuf>,
+ pub qemu_rootfs: Option<PathBuf>,
+ pub no_std: bool,
+ }
+@@ -304,7 +301,6 @@ struct Rust {
+ backtrace: Option<bool>,
+ default_linker: Option<String>,
+ channel: Option<String>,
+- musl_root: Option<String>,
+ rpath: Option<bool>,
+ optimize_tests: Option<bool>,
+ debuginfo_tests: Option<bool>,
+@@ -343,7 +339,6 @@ struct TomlTarget {
+ linker: Option<String>,
+ android_ndk: Option<String>,
+ crt_static: Option<bool>,
+- musl_root: Option<String>,
+ qemu_rootfs: Option<String>,
+ }
+
+@@ -562,7 +557,6 @@ impl Config {
+ set(&mut config.llvm_tools_enabled, rust.llvm_tools);
+ config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
+ config.rustc_default_linker = rust.default_linker.clone();
+- config.musl_root = rust.musl_root.clone().map(PathBuf::from);
+ config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from);
+ set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings));
+ set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
+@@ -605,7 +599,6 @@ impl Config {
+ target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
+ target.linker = cfg.linker.clone().map(PathBuf::from);
+ target.crt_static = cfg.crt_static.clone();
+- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
+ target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
+
+ config.target_config.insert(INTERNER.intern_string(triple.clone()), target);
+diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
+index b2d8f2d8eb..c3bb94938f 100755
+--- a/src/bootstrap/configure.py
++++ b/src/bootstrap/configure.py
+@@ -109,28 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
+ "aarch64-linux-android NDK standalone path")
+ v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk",
+ "x86_64-linux-android NDK standalone path")
+-v("musl-root", "target.x86_64-unknown-linux-musl.musl-root",
+- "MUSL root installation directory (deprecated)")
+-v("musl-root-x86_64", "target.x86_64-unknown-linux-musl.musl-root",
+- "x86_64-unknown-linux-musl install directory")
+-v("musl-root-i586", "target.i586-unknown-linux-musl.musl-root",
+- "i586-unknown-linux-musl install directory")
+-v("musl-root-i686", "target.i686-unknown-linux-musl.musl-root",
+- "i686-unknown-linux-musl install directory")
+-v("musl-root-arm", "target.arm-unknown-linux-musleabi.musl-root",
+- "arm-unknown-linux-musleabi install directory")
+-v("musl-root-armhf", "target.arm-unknown-linux-musleabihf.musl-root",
+- "arm-unknown-linux-musleabihf install directory")
+-v("musl-root-armv5te", "target.armv5te-unknown-linux-musleabi.musl-root",
+- "armv5te-unknown-linux-musleabi install directory")
+-v("musl-root-armv7", "target.armv7-unknown-linux-musleabihf.musl-root",
+- "armv7-unknown-linux-musleabihf install directory")
+-v("musl-root-aarch64", "target.aarch64-unknown-linux-musl.musl-root",
+- "aarch64-unknown-linux-musl install directory")
+-v("musl-root-mips", "target.mips-unknown-linux-musl.musl-root",
+- "mips-unknown-linux-musl install directory")
+-v("musl-root-mipsel", "target.mipsel-unknown-linux-musl.musl-root",
+- "mipsel-unknown-linux-musl install directory")
+ v("qemu-armhf-rootfs", "target.arm-unknown-linux-gnueabihf.qemu-rootfs",
+ "rootfs in qemu testing, you probably don't want to use this")
+ v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
+diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
+index f1e7f05aa9..4ee1444db3 100644
+--- a/src/bootstrap/lib.rs
++++ b/src/bootstrap/lib.rs
+@@ -842,14 +842,6 @@ impl Build {
+ }
+ }
+
+- /// Returns the "musl root" for this `target`, if defined
+- fn musl_root(&self, target: Interned<String>) -> Option<&Path> {
+- self.config.target_config.get(&target)
+- .and_then(|t| t.musl_root.as_ref())
+- .or(self.config.musl_root.as_ref())
+- .map(|p| &**p)
+- }
+-
+ /// Returns `true` if this is a no-std `target`, if defined
+ fn no_std(&self, target: Interned<String>) -> Option<bool> {
+ self.config.target_config.get(&target)
+diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
+index ff4fb85bbf..ff45200bde 100644
+--- a/src/bootstrap/sanity.rs
++++ b/src/bootstrap/sanity.rs
+@@ -169,34 +169,6 @@ pub fn check(build: &mut Build) {
+ }
+ }
+
+- // Make sure musl-root is valid
+- if target.contains("musl") {
+- // If this is a native target (host is also musl) and no musl-root is given,
+- // fall back to the system toolchain in /usr before giving up
+- if build.musl_root(*target).is_none() && build.config.build == *target {
+- let target = build.config.target_config.entry(target.clone())
+- .or_default();
+- target.musl_root = Some("/usr".into());
+- }
+- match build.musl_root(*target) {
+- Some(root) => {
+- if fs::metadata(root.join("lib/libc.a")).is_err() {
+- panic!("couldn't find libc.a in musl dir: {}",
+- root.join("lib").display());
+- }
+- if fs::metadata(root.join("lib/libunwind.a")).is_err() {
+- panic!("couldn't find libunwind.a in musl dir: {}",
+- root.join("lib").display());
+- }
+- }
+- None => {
+- panic!("when targeting MUSL either the rust.musl-root \
+- option or the target.$TARGET.musl-root option must \
+- be specified in config.toml")
+- }
+- }
+- }
+-
+ if target.contains("msvc") {
+ // There are three builds of cmake on windows: MSVC, MinGW, and
+ // Cygwin. The Cygwin build does not have generators for Visual
+diff --git a/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile b/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile
+index ba2d32a929..412c37fdd1 100644
+--- a/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile
++++ b/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile
+@@ -30,8 +30,6 @@ COPY scripts/sccache.sh /scripts/
+ RUN sh /scripts/sccache.sh
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-i586=/musl-i586 \
+- --musl-root-i686=/musl-i686 \
+ --enable-extended \
+ --disable-docs
+
+diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile
+index f80293b182..52f28df826 100644
+--- a/src/ci/docker/dist-various-1/Dockerfile
++++ b/src/ci/docker/dist-various-1/Dockerfile
+@@ -130,13 +130,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
+ CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-armv5te=/musl-armv5te \
+- --musl-root-arm=/musl-arm \
+- --musl-root-armhf=/musl-armhf \
+- --musl-root-armv7=/musl-armv7 \
+- --musl-root-aarch64=/musl-aarch64 \
+- --musl-root-mips=/musl-mips \
+- --musl-root-mipsel=/musl-mipsel \
+ --enable-emscripten \
+ --disable-docs
+
+diff --git a/src/ci/docker/dist-x86_64-musl/Dockerfile b/src/ci/docker/dist-x86_64-musl/Dockerfile
+index 06f8a2fbba..f5dd379528 100644
+--- a/src/ci/docker/dist-x86_64-musl/Dockerfile
++++ b/src/ci/docker/dist-x86_64-musl/Dockerfile
+@@ -30,7 +30,6 @@ COPY scripts/sccache.sh /scripts/
+ RUN sh /scripts/sccache.sh
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-x86_64=/musl-x86_64 \
+ --enable-extended \
+ --disable-docs
+
+diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
+index e294e63982..58ae91a96a 100644
+--- a/src/librustc_target/spec/linux_musl_base.rs
++++ b/src/librustc_target/spec/linux_musl_base.rs
+@@ -3,28 +3,12 @@ use crate::spec::{LinkerFlavor, TargetOptions};
+ pub fn opts() -> TargetOptions {
+ let mut base = super::linux_base::opts();
+
+- // Make sure that the linker/gcc really don't pull in anything, including
+- // default objects, libs, etc.
+- base.pre_link_args_crt.insert(LinkerFlavor::Gcc, Vec::new());
+- base.pre_link_args_crt.get_mut(&LinkerFlavor::Gcc).unwrap().push("-nostdlib".to_string());
+-
+ // At least when this was tested, the linker would not add the
+ // `GNU_EH_FRAME` program header to executables generated, which is required
+ // when unwinding to locate the unwinding information. I'm not sure why this
+ // argument is *not* necessary for normal builds, but it can't hurt!
+ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,--eh-frame-hdr".to_string());
+
+- // When generating a statically linked executable there's generally some
+- // small setup needed which is listed in these files. These are provided by
+- // a musl toolchain and are linked by default by the `musl-gcc` script. Note
+- // that `gcc` also does this by default, it just uses some different files.
+- //
+- // Each target directory for musl has these object files included in it so
+- // they'll be included from there.
+- base.pre_link_objects_exe_crt.push("crt1.o".to_string());
+- base.pre_link_objects_exe_crt.push("crti.o".to_string());
+- base.post_link_objects_crt.push("crtn.o".to_string());
+-
+ // These targets statically link libc by default
+ base.crt_static_default = true;
+ // These targets allow the user to choose between static and dynamic linking.
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/dev-lang/rust/files/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
new file mode 100644
index 0000000..ea8a7a0
--- /dev/null
+++ b/dev-lang/rust/files/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
@@ -0,0 +1,24 @@
+From af88a145ea4fbcda9f1d16a53a341282d2129b07 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sat, 9 Sep 2017 00:14:16 -0500
+Subject: [PATCH 06/14] Prefer libgcc_eh over libunwind for musl
+
+---
+ src/libunwind/lib.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
+index 0ccffea317..935175dd8d 100644
+--- a/src/libunwind/lib.rs
++++ b/src/libunwind/lib.rs
+@@ -26,6 +26,6 @@ cfg_if! {
+ }
+
+ #[cfg(target_env = "musl")]
+-#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
++#[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
+ #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
+ extern {}
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch b/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
deleted file mode 100644
index f241be8..0000000
--- a/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
+++ /dev/null
@@ -1,486 +0,0 @@
-From 1e13488d9fc661f8f489609dcfc6ed8b61957ca3 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Fri, 8 Sep 2017 22:11:14 -0500
-Subject: [PATCH 06/15] Remove musl_root and CRT fallback from musl targets
-
----
- config.toml.example | 12 --------
- src/bootstrap/cc_detect.rs | 27 ++----------------
- src/bootstrap/compile.rs | 28 +------------------
- src/bootstrap/config.rs | 10 -------
- src/bootstrap/configure.py | 28 -------------------
- src/bootstrap/lib.rs | 19 -------------
- src/bootstrap/sanity.rs | 22 ---------------
- .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 --
- .../host-x86_64/dist-various-1/Dockerfile | 9 ------
- .../host-x86_64/dist-various-2/Dockerfile | 3 +-
- .../host-x86_64/dist-x86_64-musl/Dockerfile | 1 -
- .../host-x86_64/test-various/Dockerfile | 1 -
- src/librustc_codegen_ssa/back/link.rs | 6 +---
- src/librustc_target/spec/crt_objects.rs | 18 ------------
- src/librustc_target/spec/linux_musl_base.rs | 5 ----
- 15 files changed, 5 insertions(+), 186 deletions(-)
-
-diff --git a/config.toml.example b/config.toml.example
-index 36587cc0784..c74dd740868 100644
---- a/config.toml.example
-+++ b/config.toml.example
-@@ -385,9 +385,6 @@
- # nightly features
- #channel = "dev"
-
--# The root location of the musl installation directory.
--#musl-root = "..."
--
- # By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
- # platforms to ensure that the compiler is usable by default from the build
- # directory (as it links to a number of dynamic libraries). This may not be
-@@ -530,15 +527,6 @@
- # only use static libraries. If unset, the target's default linkage is used.
- #crt-static = false
-
--# The root location of the musl installation directory. The library directory
--# will also need to contain libunwind.a for an unwinding implementation. Note
--# that this option only makes sense for musl targets that produce statically
--# linked binaries
--#musl-root = "..."
--
--# The full path to the musl libdir.
--#musl-libdir = musl-root/lib
--
- # The root location of the `wasm32-wasi` sysroot.
- #wasi-root = "..."
-
-diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index 7ff00d85dd2..ae80d8a5963 100644
---- a/src/bootstrap/cc_detect.rs
-+++ b/src/bootstrap/cc_detect.rs
-@@ -42,8 +42,6 @@ fn cc2ar(cc: &Path, target: TargetSelection) -> Option<PathBuf> {
- Some(PathBuf::from(ar))
- } else if target.contains("msvc") {
- None
-- } else if target.contains("musl") {
-- Some(PathBuf::from("ar"))
- } else if target.contains("openbsd") {
- Some(PathBuf::from("ar"))
- } else if target.contains("vxworks") {
-@@ -98,7 +96,7 @@ pub fn find(build: &mut Build) {
- if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
- cfg.compiler(cc);
- } else {
-- set_compiler(&mut cfg, Language::C, target, config, build);
-+ set_compiler(&mut cfg, Language::C, target, config);
- }
-
- let compiler = cfg.get_compiler();
-@@ -126,7 +124,7 @@ pub fn find(build: &mut Build) {
- cfg.compiler(cxx);
- true
- } else if build.hosts.contains(&target) || build.build == target {
-- set_compiler(&mut cfg, Language::CPlusPlus, target, config, build);
-+ set_compiler(&mut cfg, Language::CPlusPlus, target, config);
- true
- } else {
- false
-@@ -155,7 +153,6 @@ fn set_compiler(
- compiler: Language,
- target: TargetSelection,
- config: Option<&Target>,
-- build: &Build,
- ) {
- match &*target.triple {
- // When compiling for android we may have the NDK configured in the
-@@ -198,26 +195,6 @@ fn set_compiler(
- }
- }
-
-- "mips-unknown-linux-musl" => {
-- if cfg.get_compiler().path().to_str() == Some("gcc") {
-- cfg.compiler("mips-linux-musl-gcc");
-- }
-- }
-- "mipsel-unknown-linux-musl" => {
-- if cfg.get_compiler().path().to_str() == Some("gcc") {
-- cfg.compiler("mipsel-linux-musl-gcc");
-- }
-- }
--
-- t if t.contains("musl") => {
-- if let Some(root) = build.musl_root(target) {
-- let guess = root.join("bin/musl-gcc");
-- if guess.exists() {
-- cfg.compiler(guess);
-- }
-- }
-- }
--
- _ => {}
- }
- }
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 373e240cb8e..0be09300f7c 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -166,24 +166,7 @@ fn copy_self_contained_objects(
-
- // Copies the CRT objects.
- //
-- // rustc historically provides a more self-contained installation for musl targets
-- // not requiring the presence of a native musl toolchain. For example, it can fall back
-- // to using gcc from a glibc-targeting toolchain for linking.
-- // To do that we have to distribute musl startup objects as a part of Rust toolchain
-- // and link with them manually in the self-contained mode.
-- if target.contains("musl") {
-- let srcdir = builder.musl_libdir(target).unwrap();
-- for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
-- copy_and_stamp(
-- builder,
-- &libdir_self_contained,
-- &srcdir,
-- obj,
-- &mut target_deps,
-- DependencyType::TargetSelfContained,
-- );
-- }
-- } else if target.ends_with("-wasi") {
-+ if target.ends_with("-wasi") {
- let srcdir = builder.wasi_root(target).unwrap().join("lib/wasm32-wasi");
- copy_and_stamp(
- builder,
-@@ -258,15 +241,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
- .arg("--manifest-path")
- .arg(builder.src.join("library/test/Cargo.toml"));
-
-- // Help the libc crate compile by assisting it in finding various
-- // sysroot native libraries.
-- if target.contains("musl") {
-- if let Some(p) = builder.musl_libdir(target) {
-- let root = format!("native={}", p.to_str().unwrap());
-- cargo.rustflag("-L").rustflag(&root);
-- }
-- }
--
- if target.ends_with("-wasi") {
- if let Some(p) = builder.wasi_root(target) {
- let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
-diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index 8b8b01b1153..d4469ed1f96 100644
---- a/src/bootstrap/config.rs
-+++ b/src/bootstrap/config.rs
-@@ -137,8 +137,6 @@ pub struct Config {
- pub print_step_timings: bool,
- pub missing_tools: bool,
-
-- // Fallback musl-root for all targets
-- pub musl_root: Option<PathBuf>,
- pub prefix: Option<PathBuf>,
- pub sysconfdir: Option<PathBuf>,
- pub datadir: Option<PathBuf>,
-@@ -235,8 +233,6 @@ pub struct Target {
- pub linker: Option<PathBuf>,
- pub ndk: Option<PathBuf>,
- pub crt_static: Option<bool>,
-- pub musl_root: Option<PathBuf>,
-- pub musl_libdir: Option<PathBuf>,
- pub wasi_root: Option<PathBuf>,
- pub qemu_rootfs: Option<PathBuf>,
- pub no_std: bool,
-@@ -390,7 +386,6 @@ struct Rust {
- parallel_compiler: Option<bool>,
- default_linker: Option<String>,
- channel: Option<String>,
-- musl_root: Option<String>,
- rpath: Option<bool>,
- verbose_tests: Option<bool>,
- optimize_tests: Option<bool>,
-@@ -427,8 +422,6 @@ struct TomlTarget {
- llvm_filecheck: Option<String>,
- android_ndk: Option<String>,
- crt_static: Option<bool>,
-- musl_root: Option<String>,
-- musl_libdir: Option<String>,
- wasi_root: Option<String>,
- qemu_rootfs: Option<String>,
- no_std: Option<bool>,
-@@ -659,7 +652,6 @@ impl Config {
- set(&mut config.llvm_tools_enabled, rust.llvm_tools);
- config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
- config.rustc_default_linker = rust.default_linker.clone();
-- config.musl_root = rust.musl_root.clone().map(PathBuf::from);
- config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from);
- set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
- set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
-@@ -699,8 +691,6 @@ impl Config {
- target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
- target.linker = cfg.linker.clone().map(PathBuf::from);
- target.crt_static = cfg.crt_static;
-- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
-- target.musl_libdir = cfg.musl_libdir.clone().map(PathBuf::from);
- target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from);
- target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
-
-diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
-index 47673ce1e87..33004e317ce 100755
---- a/src/bootstrap/configure.py
-+++ b/src/bootstrap/configure.py
-@@ -109,34 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
- "aarch64-linux-android NDK standalone path")
- v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk",
- "x86_64-linux-android NDK standalone path")
--v("musl-root", "target.x86_64-unknown-linux-musl.musl-root",
-- "MUSL root installation directory (deprecated)")
--v("musl-root-x86_64", "target.x86_64-unknown-linux-musl.musl-root",
-- "x86_64-unknown-linux-musl install directory")
--v("musl-root-i586", "target.i586-unknown-linux-musl.musl-root",
-- "i586-unknown-linux-musl install directory")
--v("musl-root-i686", "target.i686-unknown-linux-musl.musl-root",
-- "i686-unknown-linux-musl install directory")
--v("musl-root-arm", "target.arm-unknown-linux-musleabi.musl-root",
-- "arm-unknown-linux-musleabi install directory")
--v("musl-root-armhf", "target.arm-unknown-linux-musleabihf.musl-root",
-- "arm-unknown-linux-musleabihf install directory")
--v("musl-root-armv5te", "target.armv5te-unknown-linux-musleabi.musl-root",
-- "armv5te-unknown-linux-musleabi install directory")
--v("musl-root-armv7", "target.armv7-unknown-linux-musleabi.musl-root",
-- "armv7-unknown-linux-musleabi install directory")
--v("musl-root-armv7hf", "target.armv7-unknown-linux-musleabihf.musl-root",
-- "armv7-unknown-linux-musleabihf install directory")
--v("musl-root-aarch64", "target.aarch64-unknown-linux-musl.musl-root",
-- "aarch64-unknown-linux-musl install directory")
--v("musl-root-mips", "target.mips-unknown-linux-musl.musl-root",
-- "mips-unknown-linux-musl install directory")
--v("musl-root-mipsel", "target.mipsel-unknown-linux-musl.musl-root",
-- "mipsel-unknown-linux-musl install directory")
--v("musl-root-mips64", "target.mips64-unknown-linux-muslabi64.musl-root",
-- "mips64-unknown-linux-muslabi64 install directory")
--v("musl-root-mips64el", "target.mips64el-unknown-linux-muslabi64.musl-root",
-- "mips64el-unknown-linux-muslabi64 install directory")
- v("qemu-armhf-rootfs", "target.arm-unknown-linux-gnueabihf.qemu-rootfs",
- "rootfs in qemu testing, you probably don't want to use this")
- v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
-diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 77316c734b8..b92da611a51 100644
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -875,25 +875,6 @@ impl Build {
- }
- }
-
-- /// Returns the "musl root" for this `target`, if defined
-- fn musl_root(&self, target: TargetSelection) -> Option<&Path> {
-- self.config
-- .target_config
-- .get(&target)
-- .and_then(|t| t.musl_root.as_ref())
-- .or_else(|| self.config.musl_root.as_ref())
-- .map(|p| &**p)
-- }
--
-- /// Returns the "musl libdir" for this `target`.
-- fn musl_libdir(&self, target: TargetSelection) -> Option<PathBuf> {
-- let t = self.config.target_config.get(&target)?;
-- if let libdir @ Some(_) = &t.musl_libdir {
-- return libdir.clone();
-- }
-- self.musl_root(target).map(|root| root.join("lib"))
-- }
--
- /// Returns the sysroot for the wasi target, if defined
- fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
- self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p)
-diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index f89bef50de9..e22638c533e 100644
---- a/src/bootstrap/sanity.rs
-+++ b/src/bootstrap/sanity.rs
-@@ -195,28 +195,6 @@ pub fn check(build: &mut Build) {
- }
- }
-
-- // Make sure musl-root is valid
-- if target.contains("musl") {
-- // If this is a native target (host is also musl) and no musl-root is given,
-- // fall back to the system toolchain in /usr before giving up
-- if build.musl_root(*target).is_none() && build.config.build == *target {
-- let target = build.config.target_config.entry(target.clone()).or_default();
-- target.musl_root = Some("/usr".into());
-- }
-- match build.musl_libdir(*target) {
-- Some(libdir) => {
-- if fs::metadata(libdir.join("libc.a")).is_err() {
-- panic!("couldn't find libc.a in musl libdir: {}", libdir.display());
-- }
-- }
-- None => panic!(
-- "when targeting MUSL either the rust.musl-root \
-- option or the target.$TARGET.musl-root option must \
-- be specified in config.toml"
-- ),
-- }
-- }
--
- if target.contains("msvc") {
- // There are three builds of cmake on windows: MSVC, MinGW, and
- // Cygwin. The Cygwin build does not have generators for Visual
-diff --git a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-index 162d7a1345c..48f025fd542 100644
---- a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-@@ -30,8 +30,6 @@ COPY scripts/sccache.sh /scripts/
- RUN sh /scripts/sccache.sh
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-i586=/musl-i586 \
-- --musl-root-i686=/musl-i686 \
- --disable-docs
-
- # Newer binutils broke things on some vms/distros (i.e., linking against
-diff --git a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-index fdd777e824b..2b3d090c1ae 100644
---- a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-@@ -180,15 +180,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
- CC_riscv64gc_unknown_none_elf=false
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-armv5te=/musl-armv5te \
-- --musl-root-arm=/musl-arm \
-- --musl-root-armhf=/musl-armhf \
-- --musl-root-armv7hf=/musl-armv7hf \
-- --musl-root-aarch64=/musl-aarch64 \
-- --musl-root-mips=/musl-mips \
-- --musl-root-mipsel=/musl-mipsel \
-- --musl-root-mips64=/musl-mips64 \
-- --musl-root-mips64el=/musl-mips64el \
- --disable-docs
-
- ENV SCRIPT \
-diff --git a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-index 3081f29aef2..223547bf8cd 100644
---- a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-@@ -107,7 +107,6 @@ ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabi
- RUN ln -s /usr/include/asm-generic /usr/local/include/asm
-
- ENV RUST_CONFIGURE_ARGS --enable-extended --enable-lld --disable-docs \
-- --set target.wasm32-wasi.wasi-root=/wasm32-wasi \
-- --musl-root-armv7=/musl-armv7
-+ --set target.wasm32-wasi.wasi-root=/wasm32-wasi
-
- ENV SCRIPT python3 ../x.py dist --target $TARGETS
-diff --git a/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-index ab6515cd1fa..5203d604150 100644
---- a/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-@@ -31,7 +31,6 @@ RUN sh /scripts/sccache.sh
- ENV HOSTS=x86_64-unknown-linux-musl
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
- --enable-extended \
- --enable-lld \
- --set target.x86_64-unknown-linux-musl.crt-static=false \
-diff --git a/src/ci/docker/host-x86_64/test-various/Dockerfile b/src/ci/docker/host-x86_64/test-various/Dockerfile
-index c55a284e137..a808a915fcb 100644
---- a/src/ci/docker/host-x86_64/test-various/Dockerfile
-+++ b/src/ci/docker/host-x86_64/test-various/Dockerfile
-@@ -29,7 +29,6 @@ COPY scripts/sccache.sh /scripts/
- RUN sh /scripts/sccache.sh
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
- --set build.nodejs=/node-v14.4.0-linux-x64/bin/node \
- --set rust.lld
-
-diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs
-index 70bc9d5e980..b35fe073d26 100644
---- a/src/librustc_codegen_ssa/back/link.rs
-+++ b/src/librustc_codegen_ssa/back/link.rs
-@@ -1288,16 +1288,12 @@ fn link_output_kind(sess: &Session, crate_type: CrateType) -> LinkOutputKind {
-
- /// Whether we link to our own CRT objects instead of relying on gcc to pull them.
- /// We only provide such support for a very limited number of targets.
--fn crt_objects_fallback(sess: &Session, crate_type: CrateType) -> bool {
-+fn crt_objects_fallback(sess: &Session, _crate_type: CrateType) -> bool {
- if let Some(self_contained) = sess.opts.debugging_opts.link_self_contained {
- return self_contained;
- }
-
- match sess.target.target.options.crt_objects_fallback {
-- // FIXME: Find a better heuristic for "native musl toolchain is available",
-- // based on host and linker path, for example.
-- // (https://github.com/rust-lang/rust/pull/71769#issuecomment-626330237).
-- Some(CrtObjectsFallback::Musl) => sess.crt_static(Some(crate_type)),
- // FIXME: Find some heuristic for "native mingw toolchain is available",
- // likely based on `get_crt_libs_path` (https://github.com/rust-lang/rust/pull/67429).
- Some(CrtObjectsFallback::Mingw) => {
-diff --git a/src/librustc_target/spec/crt_objects.rs b/src/librustc_target/spec/crt_objects.rs
-index 8991691a9a3..b7e47afd942 100644
---- a/src/librustc_target/spec/crt_objects.rs
-+++ b/src/librustc_target/spec/crt_objects.rs
-@@ -61,21 +61,6 @@ pub(super) fn all(obj: &str) -> CrtObjects {
- ])
- }
-
--pub(super) fn pre_musl_fallback() -> CrtObjects {
-- new(&[
-- (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o"]),
-- (LinkOutputKind::DynamicPicExe, &["Scrt1.o", "crti.o"]),
-- (LinkOutputKind::StaticNoPicExe, &["crt1.o", "crti.o"]),
-- (LinkOutputKind::StaticPicExe, &["rcrt1.o", "crti.o"]),
-- (LinkOutputKind::DynamicDylib, &["crti.o"]),
-- (LinkOutputKind::StaticDylib, &["crti.o"]),
-- ])
--}
--
--pub(super) fn post_musl_fallback() -> CrtObjects {
-- all("crtn.o")
--}
--
- pub(super) fn pre_mingw_fallback() -> CrtObjects {
- new(&[
- (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
-@@ -115,7 +100,6 @@ pub(super) fn post_wasi_fallback() -> CrtObjects {
- /// Which logic to use to determine whether to fall back to the "self-contained" mode or not.
- #[derive(Clone, Copy, PartialEq, Hash, Debug)]
- pub enum CrtObjectsFallback {
-- Musl,
- Mingw,
- Wasm,
- }
-@@ -125,7 +109,6 @@ impl FromStr for CrtObjectsFallback {
-
- fn from_str(s: &str) -> Result<CrtObjectsFallback, ()> {
- Ok(match s {
-- "musl" => CrtObjectsFallback::Musl,
- "mingw" => CrtObjectsFallback::Mingw,
- "wasm" => CrtObjectsFallback::Wasm,
- _ => return Err(()),
-@@ -136,7 +119,6 @@ impl FromStr for CrtObjectsFallback {
- impl ToJson for CrtObjectsFallback {
- fn to_json(&self) -> Json {
- match *self {
-- CrtObjectsFallback::Musl => "musl",
- CrtObjectsFallback::Mingw => "mingw",
- CrtObjectsFallback::Wasm => "wasm",
- }
-diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
-index b90e91d2901..c5f5f99a96d 100644
---- a/src/librustc_target/spec/linux_musl_base.rs
-+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -1,13 +1,8 @@
--use crate::spec::crt_objects::{self, CrtObjectsFallback};
- use crate::spec::TargetOptions;
-
- pub fn opts() -> TargetOptions {
- let mut base = super::linux_base::opts();
-
-- base.pre_link_objects_fallback = crt_objects::pre_musl_fallback();
-- base.post_link_objects_fallback = crt_objects::post_musl_fallback();
-- base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
--
- // These targets statically link libc by default
- base.crt_static_default = true;
- // These targets allow the user to choose between static and dynamic linking.
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
deleted file mode 100644
index 3472588..0000000
--- a/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 5944a594d6cd422e3ed3a83857b8f84f6920456a Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sat, 9 Sep 2017 00:14:16 -0500
-Subject: [PATCH 07/15] Prefer libgcc_eh over libunwind for musl
-
----
- library/unwind/build.rs | 1 -
- library/unwind/src/lib.rs | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/library/unwind/build.rs b/library/unwind/build.rs
-index ab09a6e324d..2f71e45f95a 100644
---- a/library/unwind/build.rs
-+++ b/library/unwind/build.rs
-@@ -14,7 +14,6 @@ fn main() {
- } else if target.contains("linux") {
- if target.contains("musl") {
- // linking for musl is handled in lib.rs
-- llvm_libunwind::compile();
- } else if !target.contains("android") {
- println!("cargo:rustc-link-lib=gcc_s");
- }
-diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
-index 20a2ca98405..401d2ad9a1c 100644
---- a/library/unwind/src/lib.rs
-+++ b/library/unwind/src/lib.rs
-@@ -38,7 +38,7 @@ cfg_if::cfg_if! {
- }
-
- #[cfg(target_env = "musl")]
--#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
-+#[link(name = "gcc_eh", kind = "static-nobundle", cfg(target_feature = "crt-static"))]
- #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
- extern "C" {}
-
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/dev-lang/rust/files/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
new file mode 100644
index 0000000..06eebb9
--- /dev/null
+++ b/dev-lang/rust/files/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
@@ -0,0 +1,37 @@
+From a7c6bcd4834952f3f5b0483dd71b47407d9fb186 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 16 Sep 2018 16:40:04 +0000
+Subject: [PATCH 07/14] runtest: Fix proc-macro tests on musl hosts
+
+---
+ src/tools/compiletest/src/runtest.rs | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
+index 7781ce74f4..5d73545b1f 100644
+--- a/src/tools/compiletest/src/runtest.rs
++++ b/src/tools/compiletest/src/runtest.rs
+@@ -1604,7 +1604,6 @@ impl<'test> TestCx<'test> {
+ None
+ } else if self.config.target.contains("cloudabi")
+ || self.config.target.contains("emscripten")
+- || (self.config.target.contains("musl") && !aux_props.force_host)
+ || self.config.target.contains("wasm32")
+ {
+ // We primarily compile all auxiliary libraries as dynamic libraries
+@@ -1612,10 +1611,8 @@ impl<'test> TestCx<'test> {
+ // for the test suite (otherwise including libstd statically in all
+ // executables takes up quite a bit of space).
+ //
+- // For targets like MUSL or Emscripten, however, there is no support for
+- // dynamic libraries so we just go back to building a normal library. Note,
+- // however, that for MUSL if the library is built with `force_host` then
+- // it's ok to be a dylib as the host should always support dylibs.
++ // For targets like Emscripten, however, there is no support for
++ // dynamic libraries so we just go back to building a normal library.
+ Some("lib")
+ } else {
+ Some("dylib")
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0008-Correct-minimum-system-LLVM-version-in-tests.patch b/dev-lang/rust/files/0008-Correct-minimum-system-LLVM-version-in-tests.patch
new file mode 100644
index 0000000..1da2bec
--- /dev/null
+++ b/dev-lang/rust/files/0008-Correct-minimum-system-LLVM-version-in-tests.patch
@@ -0,0 +1,206 @@
+From b038aa4b514a520c3ad2a6ab0e518cb8d45c4ca0 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Fri, 22 Mar 2019 17:08:06 -0500
+Subject: [PATCH 08/14] Correct minimum system LLVM version in tests
+
+Since commit 9452a8dfa3ba, the new debug info format is only generated
+for LLVM 8 and newer versions. However, the tests still assume that LLVM
+7 will use the new debug info format. Fix the tests (and a comment in
+the code) to match the actual version check.
+---
+ src/librustc_codegen_llvm/debuginfo/metadata.rs | 8 +++++---
+ src/test/codegen/enum-debug-clike.rs | 2 +-
+ src/test/codegen/enum-debug-niche-2.rs | 2 +-
+ src/test/codegen/enum-debug-niche.rs | 2 +-
+ src/test/codegen/enum-debug-tagged.rs | 2 +-
+ src/test/debuginfo/borrowed-enum.rs | 2 +-
+ .../debuginfo/generic-enum-with-different-disr-sizes.rs | 2 +-
+ src/test/debuginfo/generic-struct-style-enum.rs | 2 +-
+ src/test/debuginfo/generic-tuple-style-enum.rs | 2 +-
+ src/test/debuginfo/recursive-struct.rs | 2 +-
+ src/test/debuginfo/struct-style-enum.rs | 2 +-
+ src/test/debuginfo/tuple-style-enum.rs | 2 +-
+ src/test/debuginfo/unique-enum.rs | 2 +-
+ 13 files changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/src/librustc_codegen_llvm/debuginfo/metadata.rs b/src/librustc_codegen_llvm/debuginfo/metadata.rs
+index ddcbf29da8..8efa025e3d 100644
+--- a/src/librustc_codegen_llvm/debuginfo/metadata.rs
++++ b/src/librustc_codegen_llvm/debuginfo/metadata.rs
+@@ -1156,12 +1156,14 @@ fn prepare_union_metadata(
+ // Enums
+ //=-----------------------------------------------------------------------------
+
+-// DWARF variant support is only available starting in LLVM 7.
++// DWARF variant support is only available starting in LLVM 8.
+ // Although the earlier enum debug info output did not work properly
+ // in all situations, it is better for the time being to continue to
+ // sometimes emit the old style rather than emit something completely
+-// useless when rust is compiled against LLVM 6 or older. This
+-// function decides which representation will be emitted.
++// useless when rust is compiled against LLVM 6 or older. LLVM 7
++// contains an early version of the DWARF variant support, and will
++// crash when handling the new debug info format. This function
++// decides which representation will be emitted.
+ fn use_enum_fallback(cx: &CodegenCx<'_, '_>) -> bool {
+ // On MSVC we have to use the fallback mode, because LLVM doesn't
+ // lower variant parts to PDB.
+diff --git a/src/test/codegen/enum-debug-clike.rs b/src/test/codegen/enum-debug-clike.rs
+index 62cfef5a84..f268c8bcbc 100644
+--- a/src/test/codegen/enum-debug-clike.rs
++++ b/src/test/codegen/enum-debug-clike.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/codegen/enum-debug-niche-2.rs b/src/test/codegen/enum-debug-niche-2.rs
+index 369fa1fcfd..aa6cbf66b4 100644
+--- a/src/test/codegen/enum-debug-niche-2.rs
++++ b/src/test/codegen/enum-debug-niche-2.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/codegen/enum-debug-niche.rs b/src/test/codegen/enum-debug-niche.rs
+index 1273a785ba..93eebde7b8 100644
+--- a/src/test/codegen/enum-debug-niche.rs
++++ b/src/test/codegen/enum-debug-niche.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/codegen/enum-debug-tagged.rs b/src/test/codegen/enum-debug-tagged.rs
+index 5c37e40c27..84976ce97a 100644
+--- a/src/test/codegen/enum-debug-tagged.rs
++++ b/src/test/codegen/enum-debug-tagged.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/debuginfo/borrowed-enum.rs b/src/test/debuginfo/borrowed-enum.rs
+index e27a31dd0e..63c11f59c1 100644
+--- a/src/test/debuginfo/borrowed-enum.rs
++++ b/src/test/debuginfo/borrowed-enum.rs
+@@ -1,7 +1,7 @@
+ // ignore-tidy-linelength
+
+ // Require LLVM with DW_TAG_variant_part and a gdb or lldb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs b/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
+index 9392aa7097..e26294cb73 100644
+--- a/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
++++ b/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
+@@ -3,7 +3,7 @@
+ // min-lldb-version: 310
+
+ // Require LLVM with DW_TAG_variant_part and a gdb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+
+ // compile-flags:-g
+diff --git a/src/test/debuginfo/generic-struct-style-enum.rs b/src/test/debuginfo/generic-struct-style-enum.rs
+index 3e59347030..3dc5cb807b 100644
+--- a/src/test/debuginfo/generic-struct-style-enum.rs
++++ b/src/test/debuginfo/generic-struct-style-enum.rs
+@@ -2,7 +2,7 @@
+ // min-lldb-version: 310
+
+ // Require LLVM with DW_TAG_variant_part and a gdb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+
+ // compile-flags:-g
+diff --git a/src/test/debuginfo/generic-tuple-style-enum.rs b/src/test/debuginfo/generic-tuple-style-enum.rs
+index 3c136add07..b16634ee6d 100644
+--- a/src/test/debuginfo/generic-tuple-style-enum.rs
++++ b/src/test/debuginfo/generic-tuple-style-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/recursive-struct.rs b/src/test/debuginfo/recursive-struct.rs
+index c3d2bea913..8fb83b7956 100644
+--- a/src/test/debuginfo/recursive-struct.rs
++++ b/src/test/debuginfo/recursive-struct.rs
+@@ -2,7 +2,7 @@
+ // ignore-lldb
+
+ // Require LLVM with DW_TAG_variant_part and a gdb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+
+ // compile-flags:-g
+diff --git a/src/test/debuginfo/struct-style-enum.rs b/src/test/debuginfo/struct-style-enum.rs
+index 1654c93209..5843b076b1 100644
+--- a/src/test/debuginfo/struct-style-enum.rs
++++ b/src/test/debuginfo/struct-style-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/tuple-style-enum.rs b/src/test/debuginfo/tuple-style-enum.rs
+index fd76bcb0af..4d9727a388 100644
+--- a/src/test/debuginfo/tuple-style-enum.rs
++++ b/src/test/debuginfo/tuple-style-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/unique-enum.rs b/src/test/debuginfo/unique-enum.rs
+index da0d06213e..32bd93f1ed 100644
+--- a/src/test/debuginfo/unique-enum.rs
++++ b/src/test/debuginfo/unique-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch b/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
deleted file mode 100644
index 969d4c5..0000000
--- a/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d3114d5d4fa3595b9f7158f24807620571951be8 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 3 Nov 2019 17:01:32 -0600
-Subject: [PATCH 08/15] Link libssp_nonshared.a on all musl targets
-
----
- src/librustc_target/spec/linux_musl_base.rs | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
-index c5f5f99a96d..a3f763147fa 100644
---- a/src/librustc_target/spec/linux_musl_base.rs
-+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -1,8 +1,11 @@
--use crate::spec::TargetOptions;
-+use crate::spec::{LinkerFlavor, TargetOptions};
-
- pub fn opts() -> TargetOptions {
- let mut base = super::linux_base::opts();
-
-+ // libssp_nonshared.a is needed for __stack_chk_fail_local when using libc.so
-+ base.post_link_args.insert(LinkerFlavor::Gcc, vec!["-lssp_nonshared".to_string()]);
-+
- // These targets statically link libc by default
- base.crt_static_default = true;
- // These targets allow the user to choose between static and dynamic linking.
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch b/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch
deleted file mode 100644
index 8639b2b..0000000
--- a/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7fd97298080acbe6f69e49a3d5df9eca423b5fe1 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 7 Oct 2019 18:36:28 -0500
-Subject: [PATCH 09/15] test/failed-doctest-output: Fix normalization
-
-Otherwise we get:
-
-1
-2 running 2 tests
-- test $DIR/failed-doctest-output.rs - OtherStruct (line 20) ... FAILED
-- test $DIR/failed-doctest-output.rs - SomeStruct (line 10) ... FAILED
-+ test src/rustc-1.38.0-src/$DIR/failed-doctest-output.rs - OtherStruct (line 20) ... FAILED
-+ test src/rustc-1.38.0-src/$DIR/failed-doctest-output.rs - SomeStruct (line 10) ... FAILED
-5
-6 failures:
-7
----
- src/test/rustdoc-ui/failed-doctest-output.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/test/rustdoc-ui/failed-doctest-output.rs b/src/test/rustdoc-ui/failed-doctest-output.rs
-index fcbd7cabc69..7d19ace7487 100644
---- a/src/test/rustdoc-ui/failed-doctest-output.rs
-+++ b/src/test/rustdoc-ui/failed-doctest-output.rs
-@@ -4,7 +4,7 @@
-
- // compile-flags:--test
- // rustc-env:RUST_BACKTRACE=0
--// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
-+// normalize-stdout-test: "[[:graph:]]*src/test/rustdoc-ui" -> "$$DIR"
- // failure-status: 101
-
- // doctest fails at runtime
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/dev-lang/rust/files/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch
similarity index 79%
rename from dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
rename to dev-lang/rust/files/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch
index 6f5fa8b..121e3c8 100644
--- a/dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+++ b/dev-lang/rust/files/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch
@@ -1,18 +1,18 @@
-From 815936fbf7f721ddfc35e6048457dbc84132f87a Mon Sep 17 00:00:00 2001
+From ecfd3927df50b811ef1dff61abbdeed15daf7cd2 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 6 Oct 2018 04:01:48 +0000
-Subject: [PATCH 11/15] test/use-extern-for-plugins: Don't assume multilib
+Subject: [PATCH 09/14] test/use-extern-for-plugins: Don't assume multilib
---
src/test/run-make-fulldeps/use-extern-for-plugins/Makefile | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-index 838b1a2719b..94fa9f6d067 100644
+index 3976da3113..567a8d3157 100644
--- a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
+++ b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-@@ -4,12 +4,7 @@
- # ignore-openbsd
+@@ -5,12 +5,7 @@
+ # ignore-bitrig
# ignore-sunos
-HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
@@ -26,5 +26,5 @@ index 838b1a2719b..94fa9f6d067 100644
all:
$(RUSTC) foo.rs -C extra-filename=-host
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
index 82772a1..029544a 100644
--- a/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+++ b/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
@@ -1,7 +1,7 @@
-From 415814d100e85eb031254af528246e44d3f04128 Mon Sep 17 00:00:00 2001
+From 91e0c28a5642ef1eead598910e4a6bff071c9a4d Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 01:32:20 +0000
-Subject: [PATCH 10/15] test/sysroot-crates-are-unstable: Fix test when rpath
+Subject: [PATCH 10/14] test/sysroot-crates-are-unstable: Fix test when rpath
is disabled
Without this environment var, the test can't run rustc to find
@@ -11,15 +11,15 @@ the sysroot path.
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 1e267fb9576..30c33c5c13d 100644
+index a35174b3c2..9e77070685 100644
--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
@@ -1,2 +1,4 @@
+-include ../tools.mk
+
all:
-- '$(PYTHON)' test.py
-+ env '$(HOST_RPATH_ENV)' '$(PYTHON)' test.py
+- python2.7 test.py
++ env '$(HOST_RPATH_ENV)' python2.7 test.py
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/0011-Ignore-broken-and-non-applicable-tests.patch
similarity index 55%
rename from dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch
rename to dev-lang/rust/files/0011-Ignore-broken-and-non-applicable-tests.patch
index 8569293..59d6b71 100644
--- a/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch
+++ b/dev-lang/rust/files/0011-Ignore-broken-and-non-applicable-tests.patch
@@ -1,11 +1,13 @@
-From 8db9fc72afc7864cb7e5a8ff99f9e4dd04ea82ca Mon Sep 17 00:00:00 2001
+From 0495caf6d9c4745ba3cedbdbb4dd690571e1cec0 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:38:48 +0000
-Subject: [PATCH 12/15] Ignore broken and non-applicable tests
+Subject: [PATCH 11/14] Ignore broken and non-applicable tests
c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
long-linker-command-lines: takes >10 minutes to run (but still passes)
+simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
+simd-intrinsic-generic-select.rs: broken on BE, #59356
sparc-struct-abi: no sparc target
sysroot-crates-are-unstable: can't run rustc without RPATH
---
@@ -13,11 +15,13 @@ sysroot-crates-are-unstable: can't run rustc without RPATH
src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
- src/test/ui/env-funky-keys.rs | 1 +
- 5 files changed, 8 insertions(+)
+ src/test/run-pass/env-funky-keys.rs | 1 +
+ src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs | 2 ++
+ src/test/run-pass/simd/simd-intrinsic-generic-select.rs | 2 ++
+ 7 files changed, 12 insertions(+)
diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
-index 78e5b14a212..6f93e93286b 100644
+index 78e5b14a21..6f93e93286 100644
--- a/src/test/codegen/sparc-struct-abi.rs
+++ b/src/test/codegen/sparc-struct-abi.rs
@@ -4,6 +4,7 @@
@@ -29,7 +33,7 @@ index 78e5b14a212..6f93e93286b 100644
#![no_core]
diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-index f124ca2ab61..363b18f0985 100644
+index f124ca2ab6..363b18f098 100644
--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
@@ -1,3 +1,5 @@
@@ -39,7 +43,7 @@ index f124ca2ab61..363b18f0985 100644
all:
diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-index 5876fbc94bc..5f167ece1a2 100644
+index 5876fbc94b..5f167ece1a 100644
--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
@@ -1,3 +1,5 @@
@@ -49,7 +53,7 @@ index 5876fbc94bc..5f167ece1a2 100644
all:
diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 30c33c5c13d..d733bb1c557 100644
+index 9e77070685..6d92ec5cec 100644
--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
@@ -1,3 +1,5 @@
@@ -58,18 +62,43 @@ index 30c33c5c13d..d733bb1c557 100644
-include ../tools.mk
all:
-diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
-index c5c824ac58d..f3fe047a79c 100644
---- a/src/test/ui/env-funky-keys.rs
-+++ b/src/test/ui/env-funky-keys.rs
-@@ -1,6 +1,7 @@
- // run-pass
+diff --git a/src/test/run-pass/env-funky-keys.rs b/src/test/run-pass/env-funky-keys.rs
+index 79f32bd6c2..fc171687c9 100644
+--- a/src/test/run-pass/env-funky-keys.rs
++++ b/src/test/run-pass/env-funky-keys.rs
+@@ -1,5 +1,6 @@
// Ignore this test on Android, because it segfaults there.
+// ignore-test
// ignore-android
// ignore-windows
// ignore-cloudabi no execve
+diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+index b28f742a92..3ee4ccce73 100644
+--- a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
++++ b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+@@ -2,6 +2,8 @@
+ #![allow(non_camel_case_types)]
+
+ // ignore-emscripten
++// ignore-powerpc
++// ignore-powerpc64
+
+ // Test that the simd_bitmask intrinsic produces correct results.
+
+diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
+index f79b140494..39080c8c90 100644
+--- a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
++++ b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
+@@ -2,6 +2,8 @@
+ #![allow(non_camel_case_types)]
+
+ // ignore-emscripten
++// ignore-powerpc
++// ignore-powerpc64
+
+ // Test that the simd_select intrinsics produces correct results.
+
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0012-Link-stage-2-tools-dynamically-to-libstd.patch b/dev-lang/rust/files/0012-Link-stage-2-tools-dynamically-to-libstd.patch
new file mode 100644
index 0000000..e4cac48
--- /dev/null
+++ b/dev-lang/rust/files/0012-Link-stage-2-tools-dynamically-to-libstd.patch
@@ -0,0 +1,27 @@
+From d7e94a443cd0876d384ccbc36a6eb21cfc3636d4 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Mon, 24 Sep 2018 23:42:23 +0000
+Subject: [PATCH 12/14] Link stage 2 tools dynamically to libstd
+
+---
+ src/bootstrap/tool.rs | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
+index fc1a17d546..880c2d52ba 100644
+--- a/src/bootstrap/tool.rs
++++ b/src/bootstrap/tool.rs
+@@ -207,7 +207,9 @@ pub fn prepare_tool_cargo(
+
+ // We don't want to build tools dynamically as they'll be running across
+ // stages and such and it's just easier if they're not dynamically linked.
+- cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1");
++ if compiler.stage < 2 {
++ cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1");
++ }
+
+ if source_type == SourceType::Submodule {
+ cargo.env("RUSTC_EXTERNAL_TOOL", "1");
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch b/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch
deleted file mode 100644
index bd16e6c..0000000
--- a/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b9369ec42bc76e451dfb44e157e81166abcb3c10 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 24 Sep 2018 23:42:23 +0000
-Subject: [PATCH 13/15] Link stage 2 tools dynamically to libstd
-
----
- src/bootstrap/builder.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 29fec3a5717..15c7729b4c2 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1357,7 +1357,7 @@ impl<'a> Builder<'a> {
- // When we build Rust dylibs they're all intended for intermediate
- // usage, so make sure we pass the -Cprefer-dynamic flag instead of
- // linking all deps statically into the dylib.
-- if let Mode::Std | Mode::Rustc | Mode::Codegen = mode {
-+ if let Mode::Std | Mode::Rustc | Mode::Codegen | Mode::ToolRustc | Mode::ToolStd = mode {
- rustflags.arg("-Cprefer-dynamic");
- }
-
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0013-Move-debugger-scripts-to-usr-share-rust.patch b/dev-lang/rust/files/0013-Move-debugger-scripts-to-usr-share-rust.patch
new file mode 100644
index 0000000..8f5b2fb
--- /dev/null
+++ b/dev-lang/rust/files/0013-Move-debugger-scripts-to-usr-share-rust.patch
@@ -0,0 +1,53 @@
+From b3b713b954619af8768ad21bd73700291e9d7b58 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Mon, 17 Sep 2018 02:09:10 +0000
+Subject: [PATCH 13/14] Move debugger scripts to /usr/share/rust
+
+---
+ src/bootstrap/dist.rs | 2 +-
+ src/etc/rust-gdb | 2 +-
+ src/etc/rust-lldb | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
+index 2dae3f9135..642e4bfba8 100644
+--- a/src/bootstrap/dist.rs
++++ b/src/bootstrap/dist.rs
+@@ -595,7 +595,7 @@ impl Step for DebuggerScripts {
+ fn run(self, builder: &Builder<'_>) {
+ let host = self.host;
+ let sysroot = self.sysroot;
+- let dst = sysroot.join("lib/rustlib/etc");
++ let dst = sysroot.join("share/rust");
+ t!(fs::create_dir_all(&dst));
+ let cp_debugger_script = |file: &str| {
+ builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644);
+diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
+index 23ba93da8e..dc51b16c57 100755
+--- a/src/etc/rust-gdb
++++ b/src/etc/rust-gdb
+@@ -4,7 +4,7 @@ set -e
+
+ # Find out where the pretty printer Python module is
+ RUSTC_SYSROOT=`rustc --print=sysroot`
+-GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
++GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
+
+ # Run GDB with the additional arguments that load the pretty printers
+ # Set the environment variable `RUST_GDB` to overwrite the call to a
+diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
+index 424302d495..460e119210 100755
+--- a/src/etc/rust-lldb
++++ b/src/etc/rust-lldb
+@@ -26,7 +26,7 @@ display the contents of local variables!"
+ fi
+
+ # Prepare commands that will be loaded before any file on the command line has been loaded
+-script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_rust_formatters.py\""
++script_import="command script import \"$RUSTC_SYSROOT/share/rust/lldb_rust_formatters.py\""
+ category_definition="type summary add --no-value --python-function lldb_rust_formatters.print_val -x \".*\" --category Rust"
+ category_enable="type category enable Rust"
+
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0015-Add-gentoo-target-specs.patch b/dev-lang/rust/files/0014-Add-gentoo-target-specs.patch
similarity index 79%
rename from dev-lang/rust/files/0015-Add-gentoo-target-specs.patch
rename to dev-lang/rust/files/0014-Add-gentoo-target-specs.patch
index 61a19b9..36afe06 100644
--- a/dev-lang/rust/files/0015-Add-gentoo-target-specs.patch
+++ b/dev-lang/rust/files/0014-Add-gentoo-target-specs.patch
@@ -1,18 +1,18 @@
-From 037c877646effd72dbf82f3eb8e5ed41e9f5e89d Mon Sep 17 00:00:00 2001
+From d4b28cd40d12ef2a801658176b31c6663c25d66f Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 02:29:06 +0000
-Subject: [PATCH 15/15] Add gentoo target specs
+Subject: [PATCH 14/14] Add gentoo target specs
---
- src/librustc_target/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/arm_gentoo_linux_musleabi.rs | 11 +++++++++++
- .../spec/armv7a_gentoo_linux_musleabihf.rs | 11 +++++++++++
- src/librustc_target/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/mod.rs | 11 ++++++++++-
- .../spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
- 8 files changed, 87 insertions(+), 1 deletion(-)
+ .../spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../spec/arm_gentoo_linux_musleabi.rs | 11 +++++++++++
+ .../spec/armv7a_gentoo_linux_musleabihf.rs | 11 +++++++++++
+ src/librustc_target/spec/i686_gentoo_linux_musl.rs | 13 +++++++++++++
+ src/librustc_target/spec/mod.rs | 11 ++++++++++-
+ .../spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../spec/powerpc_gentoo_linux_musl.rs | 13 +++++++++++++
+ .../spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
+ 8 files changed, 91 insertions(+), 1 deletion(-)
create mode 100644 src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
create mode 100644 src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
create mode 100644 src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
@@ -23,7 +23,7 @@ Subject: [PATCH 15/15] Add gentoo target specs
diff --git a/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..420fe7cde70
+index 0000000000..420fe7cde7
--- /dev/null
+++ b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
@@ -0,0 +1,11 @@
@@ -40,7 +40,7 @@ index 00000000000..420fe7cde70
+}
diff --git a/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs b/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
new file mode 100644
-index 00000000000..d47ca841647
+index 0000000000..d47ca84164
--- /dev/null
+++ b/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
@@ -0,0 +1,11 @@
@@ -57,7 +57,7 @@ index 00000000000..d47ca841647
+}
diff --git a/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs b/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
new file mode 100644
-index 00000000000..f5c85855c18
+index 0000000000..f5c85855c1
--- /dev/null
+++ b/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
@@ -0,0 +1,11 @@
@@ -74,11 +74,11 @@ index 00000000000..f5c85855c18
+}
diff --git a/src/librustc_target/spec/i686_gentoo_linux_musl.rs b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..1cd39cd76af
+index 0000000000..be4d7b8523
--- /dev/null
+++ b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::i686_unknown_linux_musl::target()?;
@@ -86,15 +86,17 @@ index 00000000000..1cd39cd76af
+ base.llvm_target = "i686-gentoo-linux-musl".to_string();
+ base.target_vendor = "gentoo".to_string();
+ base.options.crt_static_default = false;
++ base.options.post_link_args.insert(LinkerFlavor::Gcc,
++ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]);
+
+ Ok(base)
+}
diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
-index fa29ff3f8d8..a711417e7c1 100644
+index bef2afc7b6..42bd26ce0c 100644
--- a/src/librustc_target/spec/mod.rs
+++ b/src/librustc_target/spec/mod.rs
-@@ -489,7 +489,17 @@ macro_rules! supported_targets {
- };
+@@ -327,7 +327,17 @@ macro_rules! supported_targets {
+ )
}
+mod arm_unknown_linux_musleabi;
@@ -111,7 +113,7 @@ index fa29ff3f8d8..a711417e7c1 100644
("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu),
("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
-@@ -514,7 +524,6 @@ supported_targets! {
+@@ -348,7 +358,6 @@ supported_targets! {
("sparc64-unknown-linux-gnu", sparc64_unknown_linux_gnu),
("arm-unknown-linux-gnueabi", arm_unknown_linux_gnueabi),
("arm-unknown-linux-gnueabihf", arm_unknown_linux_gnueabihf),
@@ -121,7 +123,7 @@ index fa29ff3f8d8..a711417e7c1 100644
("armv5te-unknown-linux-gnueabi", armv5te_unknown_linux_gnueabi),
diff --git a/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..e840bb27bbf
+index 0000000000..e840bb27bb
--- /dev/null
+++ b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
@@ -0,0 +1,11 @@
@@ -138,11 +140,11 @@ index 00000000000..e840bb27bbf
+}
diff --git a/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..a623ffed53a
+index 0000000000..905c5214d4
--- /dev/null
+++ b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::powerpc_unknown_linux_musl::target()?;
@@ -150,12 +152,14 @@ index 00000000000..a623ffed53a
+ base.llvm_target = "powerpc-gentoo-linux-musl".to_string();
+ base.target_vendor = "gentoo".to_string();
+ base.options.crt_static_default = false;
++ base.options.post_link_args.insert(LinkerFlavor::Gcc,
++ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]);
+
+ Ok(base)
+}
diff --git a/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..f33047358b5
+index 0000000000..f33047358b
--- /dev/null
+++ b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
@@ -0,0 +1,11 @@
@@ -171,5 +175,5 @@ index 00000000000..f33047358b5
+ Ok(base)
+}
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch b/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch
deleted file mode 100644
index ca1a1b4..0000000
--- a/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 22b25a4088a3d09bb569b23dc282edb77df11ab4 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 17 Sep 2018 02:09:10 +0000
-Subject: [PATCH 14/15] Move debugger scripts to /usr/share/rust
-
----
- src/bootstrap/dist.rs | 2 +-
- src/etc/rust-gdb | 2 +-
- src/etc/rust-gdbgui | 2 +-
- src/etc/rust-lldb | 4 ++--
- 4 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index d021feafbe4..f0f5cb8169a 100644
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -614,7 +614,7 @@ impl Step for DebuggerScripts {
- fn run(self, builder: &Builder<'_>) {
- let host = self.host;
- let sysroot = self.sysroot;
-- let dst = sysroot.join("lib/rustlib/etc");
-+ let dst = sysroot.join("share/rust");
- t!(fs::create_dir_all(&dst));
- let cp_debugger_script = |file: &str| {
- builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644);
-diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
-index b950cea79ed..559bfe3f1f9 100755
---- a/src/etc/rust-gdb
-+++ b/src/etc/rust-gdb
-@@ -12,7 +12,7 @@ fi
-
- # Find out where the pretty printer Python module is
- RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
--GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-+GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
-
- # Run GDB with the additional arguments that load the pretty printers
- # Set the environment variable `RUST_GDB` to overwrite the call to a
-diff --git a/src/etc/rust-gdbgui b/src/etc/rust-gdbgui
-index 9744913b686..8722acdcc52 100755
---- a/src/etc/rust-gdbgui
-+++ b/src/etc/rust-gdbgui
-@@ -41,7 +41,7 @@ fi
-
- # Find out where the pretty printer Python module is
- RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
--GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-+GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
-
- # Set the environment variable `RUST_GDB` to overwrite the call to a
- # different/specific command (defaults to `gdb`).
-diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
-index bce72f1bad6..8abb0124527 100755
---- a/src/etc/rust-lldb
-+++ b/src/etc/rust-lldb
-@@ -30,8 +30,8 @@ EOF
- fi
- fi
-
--script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_lookup.py\""
--commands_file="$RUSTC_SYSROOT/lib/rustlib/etc/lldb_commands"
-+script_import="command script import \"$RUSTC_SYSROOT/share/rust/lldb_lookup.py\""
-+commands_file="$RUSTC_SYSROOT/share/rust/lldb_commands"
-
- # Call LLDB with the commands added to the argument list
- exec "$lldb" --one-line-before-file "$script_import" --source-before-file "$commands_file" "$@"
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0030-libc-linkage.patch b/dev-lang/rust/files/0030-libc-linkage.patch
deleted file mode 100644
index 5a92904..0000000
--- a/dev-lang/rust/files/0030-libc-linkage.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- rustc-1.47.0-src/vendor/libc-0.2.74/src/lib.rs
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/src/lib.rs
-@@ -27,6 +27,7 @@
- #![deny(missing_copy_implementations, safe_packed_borrows)]
- #![no_std]
- #![cfg_attr(feature = "rustc-dep-of-std", no_core)]
-+#![cfg_attr(target_env = "musl", feature(static_nobundle))]
- #![cfg_attr(target_os = "redox", feature(static_nobundle))]
- #![cfg_attr(libc_const_extern_fn, feature(const_extern_fn))]
-
---- rustc-1.47.0-src/vendor/libc-0.2.74/src/unix/mod.rs
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/src/unix/mod.rs
-@@ -299,11 +299,11 @@ cfg_if! {
- // cargo build, don't pull in anything extra as the libstd dep
- // already pulls in all libs.
- } else if #[cfg(target_env = "musl")] {
-+ #[link(name = "c")]
-+ extern {}
- #[cfg_attr(feature = "rustc-dep-of-std",
-- link(name = "c", kind = "static",
-+ link(name = "gcc", kind = "static-nobundle",
- cfg(target_feature = "crt-static")))]
-- #[cfg_attr(feature = "rustc-dep-of-std",
-- link(name = "c", cfg(not(target_feature = "crt-static"))))]
- extern {}
- } else if #[cfg(target_os = "emscripten")] {
- #[link(name = "c")]
---- rustc-1.47.0-src/vendor/libc-0.2.74/.cargo-checksum.json
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"128aa804901aaf7c386262cfbba894041bf1b109232d69c3e8b6b01df0a67dd1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"52f1027a072c02e6e9e1f3d9630ec24e4d57507399c6363afcbcceaa106d152b","build.rs":"ab351d7171b14f8032948e843841ebe8518ed95eb1abf0b1e689700c7cef4bf5","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75
fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"61502b3d124759c7c1bae294c1662036a96718fb3bd329cfa2f12e1c61ac10ad","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"d80f0a2f77d485601a218e0707474245636d8b23fb3d6c65c9dbd4302ea6674b","src/macros.rs":"83aed048c5053300345fca843b148928b91ed444188c479315
ff6bcabaa0c4e9","src/psp.rs":"a93741ac38660e548eb41b58df39da39944e5c04280a7b09e0be758e79942549","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"19c8598b72272cc61d7f6a05b7fec78958ce86b11d0f5a655e1e58da0bc2af44","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"ae5e8e6b0f610ec015dfcc2928609037d7ea7b94570c72bcc5bdd588424c6259","src/unix/bsd/freebsdlike/dragonfly/mod.rs"
:"0e41b6202c7670ce27201095fc1a2826c9e9ccbbc751e97ae1568871ea481a62","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"1ed8971b7de3b0435341a9af1366493d0458e4a00507dd824c4c11f4ce2006af","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/un
ix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"0046a4083f01ad67511427f1ac37168f31bef3be10c849d304d39f98d61c1267","src/unix/bsd/mod.rs":"4acdbc0148b672fe015ddd7cae952e5d77691df6941a20f8ca40fd996e6a37dd","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"16a9036b6a8b373cdf0576ae99c95430f3f111b6be906a1e1ecff8047e178a86","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"e
e7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"a2938e72d1c6e3f32fb51e896b63abd0d79e1e360dc53f9254fdac82b21206b9","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b474450
0d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"29863051c296eeb22e7f00a266d6632b6a886b9a791f128e3c554e96213c3a16","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"fb7e14d0f46ffaa989b5ab68c85184efe6aa04b5381e46866299b1f3258ddce3","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"
2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"d414f682fd0d138d440300dc53c6b8b069730e19230dabd4c01173c4578c42b5","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"55fb89f5a965a4ad81ee4d02498c32aaed69e6047ce708c2329a602171862a76","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"dde64
8468764a5deef5566b8016290150acf50ee6a0f8c0678cb2078658bc2fa","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"6d9ba242111c7be8173b7a7b8cf8c863ba23d839edc9d026c0fd37a4b64460b4","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"e2d2e51fea73210d9705b7eaa37de8baa7152b71ae3a10a316c277345c529b5c","src/unix/linux_like/linux/gnu/b32/mod.rs":"e224551fa50be726bc8a559da32a96294b18743fb5a5b67cdbee4bb6a9eeb796","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"39aae80d2c4ffa845592e16c0a6c910017de19e2b15c1e507c4df10e79ce3e38","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/lin
ux/gnu/b32/sparc/mod.rs":"3b4dd40b288788740d2b030171b21f9d0b076ce26d88e0ff62f5d87f09e7c787","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"927d1bd8cb2f053549fc5acfeb1315b7f80b35d7a1904cd76e99651ff32b141e","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"17e9cd23a14bd19700c05a154568fff5897788c0ae151c21dd3bba67aac829d9","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"0b5d94f3a2361742b6dd9eb3f543ddf675d3f70dab3402ad179faa6ddaae2218","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc7
8a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"2f279eb268c0aca9a6bd9b4c84139799cd039a64ca1cd2ded68b04c63397be1b","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"bb01828300f02c11c27689522454439d0d02f22d738df88a97367dc87eecf868","src/unix/linux_like/linux/gnu/b64/s390x.rs":"9c449b64b11cbf55d453b324cf9475acb3253f85cb9692f9873b777ed8978ff4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"a2667a09e526878683fafa02474f81fbc212d861ceeabade17b0ff4d6d49ff9d","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"c1862036556262f076eda2008470b8a351b9c371d70664f54387c46890e8cd18","src/unix/linux_like/
linux/gnu/b64/x86_64/x32.rs":"30f88d0fa9e7807ee4cbe89fd274061f810099567d5e68fa829277d7d27ba708","src/unix/linux_like/linux/gnu/mod.rs":"c7924db757cf898c78029ad3772e6168ec99dd0dd1534df4132f8fe9717afed7","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3dc8b1980062117edd7bdfdf2279065737f8cdcdcb883f57f23f27a1d0bbb8b2","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","
src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"7b3fb85a869e00aae3f6af9c36f82f9c70bf8c2b9cccbd931b923602846ea42c","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad838158
75edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"243e32b93641df7a77f970a32c0fb8e4fd4a13720e54e0e42a9da321fd169798","src/unix/linux_like/linux/no_align.rs":"c81ccd1942295d423b43a55b4aa19633c2096fb93bb381a6a29acb93e85aab07","src/unix/linux_like/mod.rs":"e2d60b008a30f2d866be2da6372fe8390e246572d8344447615155f642016882","src/unix/mod.rs":"3196eb15b4f9fa88839f401ee5a8a06875f7da7f244e73323f3c4ca7fb5007b1","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"8ab989
db6b21fee81a694c9f9f89014f8e78870d0541368527483c90f07542a7","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"89c31827cf348e9a7af387f9e708fc834d04da36cad415d3957d2faa70f2fcbe","src/unix/solarish/compat.rs":"d62a5d3b5bd6adc998cb9bb817a622ef9ec666235bb237bd0f13f8e6a94de576","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"ac1d11b1d51649ca1f156d2554951acc2204622bad1e0823cde24328c5fe60aa","src/unix/solarish/solaris.rs":"6000d322ee9f691f38a2cd89b2b8838e51f64c01584143924962b0c598e0985c","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec725195
7315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"18d6c2628ca458ba75e7
43bce75bda6614de99606af4e2e62daf2440d2878f18","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"79077f518d234baf6cb76cb742153d174b3ddd43c6eda9238ebb053e08f9f9c7","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb1
81d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"486a00bafb5b6bf0538c4d984dab021835295c431cb2ceb7a9a74b499f78ade6","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"053c4d3d99c6a8b2fba4df0f8c7266cdd9fbbaa6bddc50cd6f747bef1ff59da9","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10"}
-\ No newline at end of file
-+{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"128aa804901aaf7c386262cfbba894041bf1b109232d69c3e8b6b01df0a67dd1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"52f1027a072c02e6e9e1f3d9630ec24e4d57507399c6363afcbcceaa106d152b","build.rs":"ab351d7171b14f8032948e843841ebe8518ed95eb1abf0b1e689700c7cef4bf5","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75
fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"61502b3d124759c7c1bae294c1662036a96718fb3bd329cfa2f12e1c61ac10ad","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"2c276c0b8441855978c1c5f3b19131bf36e51921bc048fcd22a033d33cb6cc54","src/macros.rs":"83aed048c5053300345fca843b148928b91ed444188c479315
ff6bcabaa0c4e9","src/psp.rs":"a93741ac38660e548eb41b58df39da39944e5c04280a7b09e0be758e79942549","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"19c8598b72272cc61d7f6a05b7fec78958ce86b11d0f5a655e1e58da0bc2af44","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"ae5e8e6b0f610ec015dfcc2928609037d7ea7b94570c72bcc5bdd588424c6259","src/unix/bsd/freebsdlike/dragonfly/mod.rs"
:"0e41b6202c7670ce27201095fc1a2826c9e9ccbbc751e97ae1568871ea481a62","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"1ed8971b7de3b0435341a9af1366493d0458e4a00507dd824c4c11f4ce2006af","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/un
ix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"0046a4083f01ad67511427f1ac37168f31bef3be10c849d304d39f98d61c1267","src/unix/bsd/mod.rs":"4acdbc0148b672fe015ddd7cae952e5d77691df6941a20f8ca40fd996e6a37dd","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"16a9036b6a8b373cdf0576ae99c95430f3f111b6be906a1e1ecff8047e178a86","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"e
e7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"a2938e72d1c6e3f32fb51e896b63abd0d79e1e360dc53f9254fdac82b21206b9","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b474450
0d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"29863051c296eeb22e7f00a266d6632b6a886b9a791f128e3c554e96213c3a16","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"fb7e14d0f46ffaa989b5ab68c85184efe6aa04b5381e46866299b1f3258ddce3","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"
2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"d414f682fd0d138d440300dc53c6b8b069730e19230dabd4c01173c4578c42b5","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"55fb89f5a965a4ad81ee4d02498c32aaed69e6047ce708c2329a602171862a76","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"dde64
8468764a5deef5566b8016290150acf50ee6a0f8c0678cb2078658bc2fa","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"6d9ba242111c7be8173b7a7b8cf8c863ba23d839edc9d026c0fd37a4b64460b4","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"e2d2e51fea73210d9705b7eaa37de8baa7152b71ae3a10a316c277345c529b5c","src/unix/linux_like/linux/gnu/b32/mod.rs":"e224551fa50be726bc8a559da32a96294b18743fb5a5b67cdbee4bb6a9eeb796","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"39aae80d2c4ffa845592e16c0a6c910017de19e2b15c1e507c4df10e79ce3e38","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/lin
ux/gnu/b32/sparc/mod.rs":"3b4dd40b288788740d2b030171b21f9d0b076ce26d88e0ff62f5d87f09e7c787","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"927d1bd8cb2f053549fc5acfeb1315b7f80b35d7a1904cd76e99651ff32b141e","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"17e9cd23a14bd19700c05a154568fff5897788c0ae151c21dd3bba67aac829d9","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"0b5d94f3a2361742b6dd9eb3f543ddf675d3f70dab3402ad179faa6ddaae2218","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc7
8a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"2f279eb268c0aca9a6bd9b4c84139799cd039a64ca1cd2ded68b04c63397be1b","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"bb01828300f02c11c27689522454439d0d02f22d738df88a97367dc87eecf868","src/unix/linux_like/linux/gnu/b64/s390x.rs":"9c449b64b11cbf55d453b324cf9475acb3253f85cb9692f9873b777ed8978ff4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"a2667a09e526878683fafa02474f81fbc212d861ceeabade17b0ff4d6d49ff9d","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"c1862036556262f076eda2008470b8a351b9c371d70664f54387c46890e8cd18","src/unix/linux_like/
linux/gnu/b64/x86_64/x32.rs":"30f88d0fa9e7807ee4cbe89fd274061f810099567d5e68fa829277d7d27ba708","src/unix/linux_like/linux/gnu/mod.rs":"c7924db757cf898c78029ad3772e6168ec99dd0dd1534df4132f8fe9717afed7","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3dc8b1980062117edd7bdfdf2279065737f8cdcdcb883f57f23f27a1d0bbb8b2","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","
src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"7b3fb85a869e00aae3f6af9c36f82f9c70bf8c2b9cccbd931b923602846ea42c","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad838158
75edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"243e32b93641df7a77f970a32c0fb8e4fd4a13720e54e0e42a9da321fd169798","src/unix/linux_like/linux/no_align.rs":"c81ccd1942295d423b43a55b4aa19633c2096fb93bb381a6a29acb93e85aab07","src/unix/linux_like/mod.rs":"e2d60b008a30f2d866be2da6372fe8390e246572d8344447615155f642016882","src/unix/mod.rs":"c34d511e9bdf7504d4c30d6b60c7364085b3fc6feeacfac2ee92267d3c42fd21","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"8ab989
db6b21fee81a694c9f9f89014f8e78870d0541368527483c90f07542a7","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"89c31827cf348e9a7af387f9e708fc834d04da36cad415d3957d2faa70f2fcbe","src/unix/solarish/compat.rs":"d62a5d3b5bd6adc998cb9bb817a622ef9ec666235bb237bd0f13f8e6a94de576","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"ac1d11b1d51649ca1f156d2554951acc2204622bad1e0823cde24328c5fe60aa","src/unix/solarish/solaris.rs":"6000d322ee9f691f38a2cd89b2b8838e51f64c01584143924962b0c598e0985c","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec725195
7315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"18d6c2628ca458ba75e7
43bce75bda6614de99606af4e2e62daf2440d2878f18","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"79077f518d234baf6cb76cb742153d174b3ddd43c6eda9238ebb053e08f9f9c7","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb1
81d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"486a00bafb5b6bf0538c4d984dab021835295c431cb2ceb7a9a74b499f78ade6","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"053c4d3d99c6a8b2fba4df0f8c7266cdd9fbbaa6bddc50cd6f747bef1ff59da9","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10"}
-\ No newline at end of file
diff --git a/dev-lang/rust/files/0030-liblibc-linkage.patch b/dev-lang/rust/files/0030-liblibc-linkage.patch
new file mode 100644
index 0000000..6863209
--- /dev/null
+++ b/dev-lang/rust/files/0030-liblibc-linkage.patch
@@ -0,0 +1,33 @@
+--- rustc-1.34.2-src/vendor/libc/src/lib.rs
++++ rustc-1.34.2-src/vendor/libc/src/lib.rs
+@@ -153,6 +153,7 @@
+ #![cfg_attr(feature = "rustc-dep-of-std", feature(cfg_target_vendor))]
+ #![cfg_attr(feature = "rustc-dep-of-std", feature(link_cfg, repr_packed))]
+ #![cfg_attr(feature = "rustc-dep-of-std", feature(no_core))]
++#![cfg_attr(feature = "rustc-dep-of-std", feature(static_nobundle))]
+ #![cfg_attr(feature = "rustc-dep-of-std", no_core)]
+ #![cfg_attr(feature = "rustc-dep-of-std", allow(warnings))]
+ #![cfg_attr(not(any(feature = "use_std", feature = "rustc-dep-of-std")), no_std)]
+--- rustc-1.34.2-src/vendor/libc/src/unix/mod.rs
++++ rustc-1.34.2-src/vendor/libc/src/unix/mod.rs
+@@ -287,11 +287,11 @@ cfg_if! {
+ // cargo build, don't pull in anything extra as the libstd dep
+ // already pulls in all libs.
+ } else if #[cfg(target_env = "musl")] {
++ #[link(name = "c")]
++ extern {}
+ #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", kind = "static",
++ link(name = "gcc", kind = "static-nobundle",
+ cfg(target_feature = "crt-static")))]
+- #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", cfg(not(target_feature = "crt-static"))))]
+ extern {}
+ } else if #[cfg(target_os = "emscripten")] {
+ #[link(name = "c")]
+--- rustc-1.34.2-src/vendor/libc/.cargo-checksum.json
++++ rustc-1.34.2-src/vendor/libc/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1
913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"d456d34fc58c8d194f8f24201b4021860f61c5f125904bb8dcc954d1f813f6b7","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40
299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.r
s":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdl
ike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e
67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"c5f3c6d74ac8e8ef83374b6115bab7c6e57297336a7635aa4c47462649b00dfb","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d99
02fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/mus
l/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"2621
1878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0
cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8
667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1
913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"69850cc2630e101768e05f78b35a0ee29875c519eb4817d5bd2c1d542fae8c1d","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40
299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.r
s":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdl
ike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e
67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"3c5aad2e7ac5e8781158cd140ed07afb1e0ad5eb7fc4b7b0a7bf7f5d8d2ebe32","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d99
02fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/mus
l/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"2621
1878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0
cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8
667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"}
diff --git a/dev-lang/rust/files/0040-rls-atomics.patch b/dev-lang/rust/files/0040-rls-atomics.patch
index d9aedb9..8e44100 100644
--- a/dev-lang/rust/files/0040-rls-atomics.patch
+++ b/dev-lang/rust/files/0040-rls-atomics.patch
@@ -1,6 +1,6 @@
---- rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
-+++ rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
-@@ -7,7 +7,7 @@ use crate::config::Config;
+--- a/src/tools/rls/rls/src/cmd.rs
++++ b/src/tools/rls/rls/src/cmd.rs
+@@ -17,7 +17,7 @@ use crate::config::Config;
use crate::server::{self, LsService, Notification, Request, RequestId};
use rls_analysis::{AnalysisHost, Target};
use rls_vfs::Vfs;
@@ -9,7 +9,7 @@
use lsp_types::{
ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem,
-@@ -313,8 +313,8 @@ fn url(file_name: &str) -> Url {
+@@ -323,8 +323,8 @@ fn url(file_name: &str) -> Url {
}
fn next_id() -> RequestId {
@@ -20,9 +20,9 @@
}
// Custom reader and output for the RLS server.
---- rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
-+++ rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
-@@ -7,7 +7,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
+--- a/src/tools/rls/rls/src/server/io.rs
++++ b/src/tools/rls/rls/src/server/io.rs
+@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
use std::fmt;
use std::io::{self, BufRead, Write};
@@ -31,7 +31,7 @@
use std::sync::Arc;
use jsonrpc_core::{self as jsonrpc, response, version, Id};
-@@ -171,13 +171,13 @@ pub trait Output: Sync + Send + Clone + 'static {
+@@ -182,13 +182,13 @@ pub trait Output: Sync + Send + Clone + 'static {
/// An output that sends notifications and responses on `stdout`.
#[derive(Clone)]
pub(super) struct StdioOutput {
@@ -40,14 +40,14 @@
}
impl StdioOutput {
- /// Constructs a new `stdout` output.
+ /// Construct a new `stdout` output.
pub(crate) fn new() -> StdioOutput {
- StdioOutput { next_id: Arc::new(AtomicU64::new(1)) }
+ StdioOutput { next_id: Arc::new(AtomicU32::new(1).into()) }
}
}
-@@ -194,7 +194,7 @@ impl Output for StdioOutput {
+@@ -205,7 +205,7 @@ impl Output for StdioOutput {
}
fn provide_id(&self) -> RequestId {
diff --git a/dev-lang/rust/files/0050-llvm.patch b/dev-lang/rust/files/0050-llvm.patch
index f1899f7..16f1f28 100644
--- a/dev-lang/rust/files/0050-llvm.patch
+++ b/dev-lang/rust/files/0050-llvm.patch
@@ -1,5 +1,7 @@
---- rustc-1.38.0-src/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
-+++ rustc-1.38.0-src/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
+diff --git a/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
+index 579d23004d1..6cd9d2722fb 100644
+--- a/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
++++ b/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
@@ -27,6 +27,15 @@
#define TLI_DEFINE_STRING_INTERNAL(string_repr) string_repr,
#endif
diff --git a/dev-lang/rust/files/0051-llvm-D45520.patch b/dev-lang/rust/files/0051-llvm-D45520.patch
new file mode 100644
index 0000000..275f03b
--- /dev/null
+++ b/dev-lang/rust/files/0051-llvm-D45520.patch
@@ -0,0 +1,101 @@
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
+@@ -442,13 +442,22 @@
+ // On PPC64, VariantKind is VK_None, but on PPC32, it's VK_PLT, and it must
+ // come at the _end_ of the expression.
+ const MCOperand &Op = MI->getOperand(OpNo);
+- const MCSymbolRefExpr &refExp = cast<MCSymbolRefExpr>(*Op.getExpr());
+- O << refExp.getSymbol().getName();
++ const MCSymbolRefExpr *RefExp = nullptr;
++ const MCConstantExpr *ConstExp = nullptr;
++ if (const MCBinaryExpr *BinExpr = dyn_cast<MCBinaryExpr>(Op.getExpr())) {
++ RefExp = cast<MCSymbolRefExpr>(BinExpr->getLHS());
++ ConstExp = cast<MCConstantExpr>(BinExpr->getRHS());
++ } else
++ RefExp = cast<MCSymbolRefExpr>(Op.getExpr());
++
++ O << RefExp->getSymbol().getName();
+ O << '(';
+ printOperand(MI, OpNo+1, O);
+ O << ')';
+- if (refExp.getKind() != MCSymbolRefExpr::VK_None)
+- O << '@' << MCSymbolRefExpr::getVariantKindName(refExp.getKind());
++ if (RefExp->getKind() != MCSymbolRefExpr::VK_None)
++ O << '@' << MCSymbolRefExpr::getVariantKindName(RefExp->getKind());
++ if (ConstExp != nullptr)
++ O << '+' << ConstExp->getValue();
+ }
+
+ /// showRegistersWithPercentPrefix - Check if this register name should be
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+@@ -487,8 +487,14 @@
+ if (!Subtarget->isPPC64() && !Subtarget->isDarwin() &&
+ isPositionIndependent())
+ Kind = MCSymbolRefExpr::VK_PLT;
+- const MCSymbolRefExpr *TlsRef =
++ const MCExpr *TlsRef =
+ MCSymbolRefExpr::create(TlsGetAddr, Kind, OutContext);
++
++ // Add 32768 offset to the symbol so we follow up the latest GOT/PLT ABI.
++ if (Kind == MCSymbolRefExpr::VK_PLT && Subtarget->isSecurePlt())
++ TlsRef = MCBinaryExpr::createAdd(TlsRef,
++ MCConstantExpr::create(32768, OutContext),
++ OutContext);
+ const MachineOperand &MO = MI->getOperand(2);
+ const GlobalValue *GValue = MO.getGlobal();
+ MCSymbol *MOSymbol = getSymbol(GValue);
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+@@ -4054,7 +4054,20 @@
+ if (trySETCC(N))
+ return;
+ break;
+-
++ // These nodes will be transformed into GETtlsADDR32 node, which
++ // later becomes BL_TLS __tls_get_addr(sym at tlsgd)@PLT
++ case PPCISD::ADDI_TLSLD_L_ADDR:
++ case PPCISD::ADDI_TLSGD_L_ADDR: {
++ const Module *Mod = MF->getFunction().getParent();
++ if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 ||
++ !PPCSubTarget->isSecurePlt() || !PPCSubTarget->isTargetELF() ||
++ Mod->getPICLevel() == PICLevel::SmallPIC)
++ break;
++ // Attach global base pointer on GETtlsADDR32 node in order to
++ // generate secure plt code for TLS symbols.
++ getGlobalBaseReg();
++ }
++ break;
+ case PPCISD::CALL: {
+ const Module *M = MF->getFunction().getParent();
+
+Index: rustc-src/src/llvm-project/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll
+===================================================================
+--- rustc-src/src/llvm-project/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll
++++ rustc-src/src/llvm-project/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll
+@@ -0,0 +1,18 @@
++; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -mattr=+secure-plt -relocation-model=pic | FileCheck -check-prefix=SECURE-PLT-TLS %s
++
++@a = thread_local local_unnamed_addr global i32 6, align 4
++define i32 @main() local_unnamed_addr #0 {
++entry:
++ %0 = load i32, i32* @a, align 4
++ ret i32 %0
++}
++
++
++!llvm.module.flags = !{!0}
++!0 = !{i32 7, !"PIC Level", i32 2}
++
++; SECURE-PLT-TLS: mflr 30
++; SECURE-PLT-TLS-NEXT: addis 30, 30, .LTOC-.L0$pb@ha
++; SECURE-PLT-TLS-NEXT: addi 30, 30, .LTOC-.L0$pb@l
++; SECURE-PLT-TLS-NEXT: bl .L{{.*}}
++; SECURE-PLT-TLS: bl __tls_get_addr(a@tlsgd)@PLT+32768
+\ No newline at end of file
diff --git a/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch b/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch
deleted file mode 100644
index b5ee930..0000000
--- a/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- rustc-1.46.0-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-+++ rustc-1.46.0-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-@@ -215,6 +215,9 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
- case Triple::ppc64le:
- return PPCTargetMachine::PPC_ABI_ELFv2;
- case Triple::ppc64:
-+ // musl uses the ELFv2 ABI on both endians.
-+ if (TT.isMusl())
-+ return PPCTargetMachine::PPC_ABI_ELFv2;
- return PPCTargetMachine::PPC_ABI_ELFv1;
- default:
- return PPCTargetMachine::PPC_ABI_UNKNOWN;
diff --git a/dev-lang/rust/files/0052-llvm-D52013.patch b/dev-lang/rust/files/0052-llvm-D52013.patch
new file mode 100644
index 0000000..05ccae6
--- /dev/null
+++ b/dev-lang/rust/files/0052-llvm-D52013.patch
@@ -0,0 +1,15 @@
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+@@ -199,6 +199,10 @@
+ case Triple::ppc64le:
+ return PPCTargetMachine::PPC_ABI_ELFv2;
+ case Triple::ppc64:
++ // musl uses ELFv2 ABI on both endians.
++ if (TT.getEnvironment() == Triple::Musl)
++ return PPCTargetMachine::PPC_ABI_ELFv2;
++
+ return PPCTargetMachine::PPC_ABI_ELFv1;
+ default:
+ return PPCTargetMachine::PPC_ABI_UNKNOWN;
diff --git a/dev-lang/rust/files/0053-llvm-secureplt.patch b/dev-lang/rust/files/0053-llvm-secureplt.patch
new file mode 100644
index 0000000..ddf8877
--- /dev/null
+++ b/dev-lang/rust/files/0053-llvm-secureplt.patch
@@ -0,0 +1,28 @@
+diff --git a/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+--- a/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
++++ b/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+@@ -138,6 +138,10 @@
+ if (isDarwin())
+ HasLazyResolverStubs = true;
+
++ // Set up musl-specific properties.
++ if (TargetTriple.getEnvironment() == Triple::Musl)
++ SecurePlt = true;
++
+ if (HasSPE && IsPPC64)
+ report_fatal_error( "SPE is only supported for 32-bit targets.\n", false);
+ if (HasSPE && (HasAltivec || HasQPX || HasVSX || HasFPU))
+diff --git a/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp b/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+--- a/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ b/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+@@ -222,6 +222,10 @@ static Reloc::Model getEffectiveRelocModel(const Triple &TT,
+ if (TT.getArch() == Triple::ppc64)
+ return Reloc::PIC_;
+
++ // musl needs SecurePlt, which depends on PIC.
++ if (TT.getEnvironment() == Triple::Musl)
++ return Reloc::PIC_;
++
+ // Rest are static by default.
+ return Reloc::Static;
+ }
diff --git a/dev-lang/rust/files/0060-fix-build-with-libressl-2.9.1.patch b/dev-lang/rust/files/0060-fix-build-with-libressl-2.9.1.patch
new file mode 100644
index 0000000..d5375a0
--- /dev/null
+++ b/dev-lang/rust/files/0060-fix-build-with-libressl-2.9.1.patch
@@ -0,0 +1,35 @@
+From a04a24be49e14fe77dfcef647afbbe5ae5e181d1 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Wed, 24 Apr 2019 01:57:40 -0500
+Subject: [PATCH] fix build with libressl-2.9.1
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+---
+ vendor/openssl-sys/.cargo-checksum.json | 2 +-
+ vendor/openssl-sys/build/main.rs | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
+index b5c539431..49a2227bf 100644
+--- a/vendor/openssl-sys/.cargo-checksum.json
++++ b/vendor/openssl-sys/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"b09af0445220130b1b1c45791a316435f7400cf2fab3abe9c419f4f8028cfb9c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"fae5176c2b149d190c9611b58c5882312b5c0e483d1a404cfdf850473314a58f","build/main.rs":"c8bc352b94d05afeaeb96300341a695c70c3b62c46793a5c035aaf42e22b69d1","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"4f12d2f4c2a493888db669d1ecfd55df40861a78cae65957f801ed91dc2cae30","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"29aa053b67b47515fd15812aa0a90ff35dd9fa347da2beeba96d6deafeb9d945","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"520
b282b92fa372a75bc16696dc3ee7a9a5752e517a18862182a3e9f5a976d28","src/dsa.rs":"3c294c5c45235497396ac803b723b3a0cb5bd3609f5dec18338b5b014c2adeb9","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"b22d27b01a70652384866b3d0d01d2f7a0421b2ba2db9268ed379fef4b1ac034","src/err.rs":"81230711e081277e0b6dae4ff21266052d075688c758c2b0720001849ef9192d","src/evp.rs":"13a8a71154545d7c478e156edb21beb219824937aba6b29c6bc6ef895c735a3d","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"17b5a1faa0fe3ab777c8cb0039a3dffd8922b211bf1330c2cd0c3e02f624353c","src/macros.rs":"a7c95174fd4cfeb42f730c7c0744194009520249888dbf43968571219fd6dfa1","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"619177f939328597e4bcf9
c41fdf4d0aa9207d779c6e0dafddbe2eab9b1a6a98","src/pem.rs":"3ae1c53dbc126a04c188575294111cc04c215c2f3e031192d5cc05952f011ddf","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"a0bf64f1f8ff9f6e5dbed6c38d8fa2d3d1c5dfcfe6dd3ff79f7737b072ce4681","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"e69d3b9b8f2f8ae1ed3905a4dbe064ad1b7c1eaf21d7eabb86ecdb5b41e2120a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"fd85a1683064def0a9e07d803b90102229adc1d58f
a19cf4e56976f0dd7425b9","src/x509.rs":"839be2feb74755ab7df66a024ad27dfa70ce4f7889229d9152ba999f3a54b914","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"66fd646ea4caf5ce81e3c881e88d85462519c4e97a7f82e82ca8ac52ea830ad2"},"package":"1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"b09af0445220130b1b1c45791a316435f7400cf2fab3abe9c419f4f8028cfb9c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"fae5176c2b149d190c9611b58c5882312b5c0e483d1a404cfdf850473314a58f","build/main.rs":"4c1c4b208af314ee7217108c5cb22fd51dac1fdb2bbdf901a63454a99741ca2d","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"4f12d2f4c2a493888db669d1ecfd55df40861a78cae65957f801ed91dc2cae30","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"29aa053b67b47515fd15812aa0a90ff35dd9fa347da2beeba96d6deafeb9d945","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"520
b282b92fa372a75bc16696dc3ee7a9a5752e517a18862182a3e9f5a976d28","src/dsa.rs":"3c294c5c45235497396ac803b723b3a0cb5bd3609f5dec18338b5b014c2adeb9","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"b22d27b01a70652384866b3d0d01d2f7a0421b2ba2db9268ed379fef4b1ac034","src/err.rs":"81230711e081277e0b6dae4ff21266052d075688c758c2b0720001849ef9192d","src/evp.rs":"13a8a71154545d7c478e156edb21beb219824937aba6b29c6bc6ef895c735a3d","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"17b5a1faa0fe3ab777c8cb0039a3dffd8922b211bf1330c2cd0c3e02f624353c","src/macros.rs":"a7c95174fd4cfeb42f730c7c0744194009520249888dbf43968571219fd6dfa1","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"619177f939328597e4bcf9
c41fdf4d0aa9207d779c6e0dafddbe2eab9b1a6a98","src/pem.rs":"3ae1c53dbc126a04c188575294111cc04c215c2f3e031192d5cc05952f011ddf","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"a0bf64f1f8ff9f6e5dbed6c38d8fa2d3d1c5dfcfe6dd3ff79f7737b072ce4681","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"e69d3b9b8f2f8ae1ed3905a4dbe064ad1b7c1eaf21d7eabb86ecdb5b41e2120a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"fd85a1683064def0a9e07d803b90102229adc1d58f
a19cf4e56976f0dd7425b9","src/x509.rs":"839be2feb74755ab7df66a024ad27dfa70ce4f7889229d9152ba999f3a54b914","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"66fd646ea4caf5ce81e3c881e88d85462519c4e97a7f82e82ca8ac52ea830ad2"},"package":"1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6"}
+\ No newline at end of file
+diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
+index 69def400e..6f08c872d 100644
+--- a/vendor/openssl-sys/build/main.rs
++++ b/vendor/openssl-sys/build/main.rs
+@@ -505,6 +505,7 @@ See rust-openssl README for more information:
+ (8, 1) => ('8', '1'),
+ (8, _) => ('8', 'x'),
+ (9, 0) => ('9', '0'),
++ (9, _) => ('9', 'x'),
+ _ => version_error(),
+ };
+
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch b/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
deleted file mode 100644
index 9064a52..0000000
--- a/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6b31232a9d32529e30765108f30365ac48587ce6 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Thu, 8 Oct 2020 15:48:33 -0700
-Subject: [PATCH] don't create prefix at time of check
-
----
- src/bootstrap/install.rs | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
-index d9ee3bc..c5da9ce 100644
---- a/src/bootstrap/install.rs
-+++ b/src/bootstrap/install.rs
-@@ -73,12 +73,8 @@ fn install_sh(
- let docdir_default = datadir_default.join("doc/rust");
- let libdir_default = PathBuf::from("lib");
- let mandir_default = datadir_default.join("man");
-- let prefix = builder.config.prefix.as_ref().map_or(prefix_default, |p| {
-- fs::create_dir_all(p)
-- .unwrap_or_else(|err| panic!("could not create {}: {}", p.display(), err));
-- fs::canonicalize(p)
-- .unwrap_or_else(|err| panic!("could not canonicalize {}: {}", p.display(), err))
-- });
-+
-+ let prefix = builder.config.prefix.as_ref().unwrap_or(&prefix_default);
- let sysconfdir = builder.config.sysconfdir.as_ref().unwrap_or(&sysconfdir_default);
- let datadir = builder.config.datadir.as_ref().unwrap_or(&datadir_default);
- let docdir = builder.config.docdir.as_ref().unwrap_or(&docdir_default);
---
-2.28.0
-
diff --git a/dev-lang/rust/files/1.47.0-libressl.patch b/dev-lang/rust/files/1.47.0-libressl.patch
deleted file mode 100644
index 07ad0eb..0000000
--- a/dev-lang/rust/files/1.47.0-libressl.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0493f57a9878fd4d92fc419358173fd31b95bda8 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Sun, 11 Oct 2020 22:09:39 -0700
-Subject: [PATCH] Support LibreSSL 3.2.x
-
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- vendor/openssl-sys/.cargo-checksum.json | 2 +-
- vendor/openssl-sys/build/main.rs | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
-index 4c079f5..11beb6e 100644
---- a/vendor/openssl-sys/.cargo-checksum.json
-+++ b/vendor/openssl-sys/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"0d8b960ab71be4e2a08e3ff7e9615a17f7dddcd601b7fdd885bb6f6c5a6fe5f5","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d
061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9
098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7
d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
-\ No newline at end of file
-+{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"16dadcb59a2e9f7b4c7f4d6731530533f52df6af9dcc1877bcdad52a5d403385","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d
061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9
098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7
d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
-diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
-index 49f26d2..2de8ea5 100644
---- a/vendor/openssl-sys/build/main.rs
-+++ b/vendor/openssl-sys/build/main.rs
-@@ -220,7 +220,7 @@ See rust-openssl README for more information:
- (3, 0, _) => ('3', '0', 'x'),
- (3, 1, 0) => ('3', '1', '0'),
- (3, 1, _) => ('3', '1', 'x'),
-- (3, 2, 0) => ('3', '2', '0'),
-+ (3, 2, _) => ('3', '2', 'x'),
- _ => version_error(),
- };
-
-@@ -261,7 +261,7 @@ fn version_error() -> ! {
- "
-
- This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
--through 3.2.0, but a different version of OpenSSL was found. The build is now aborting
-+through 3.2.x, but a different version of OpenSSL was found. The build is now aborting
- due to this version mismatch.
-
- "
---
-2.28.0
-
diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml
index cd11337..72d27c6 100644
--- a/dev-lang/rust/metadata.xml
+++ b/dev-lang/rust/metadata.xml
@@ -1,17 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>rust@gentoo.org</email>
- <name>Rust Project</name>
- </maintainer>
- <use>
- <flag name="cargo">Install cargo component</flag>
- <flag name="clippy">Install clippy component</flag>
- <flag name="system-llvm">Use the system LLVM install</flag>
- <flag name="rls">Install rls component</flag>
- <flag name="rustfmt">Install rustfmt component</flag>
- <flag name="wasm">Build support for the wasm32-unknown-unknown
- target</flag>
- </use>
+ <maintainer type="person">
+ <email>samuel@sholland.org</email>
+ <name>Samuel Holland</name>
+ </maintainer>
+ <use>
+ <flag name="clippy">Install clippy component</flag>
+ <flag name="system-llvm">Use the system LLVM install</flag>
+ <flag name="rls">Install rls component</flag>
+ <flag name="rustfmt">Install rustfmt component</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-lang/rust/rust-1.34.2.ebuild b/dev-lang/rust/rust-1.34.2.ebuild
new file mode 100644
index 0000000..ca831e7
--- /dev/null
+++ b/dev-lang/rust/rust-1.34.2.ebuild
@@ -0,0 +1,337 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_7} )
+
+inherit check-reqs eapi7-ver flag-o-matic llvm multiprocessing python-any-r1 toolchain-funcs
+
+ABI_VER="$(ver_cut 1-2)"
+SLOT="stable/${ABI_VER}"
+MY_P="rustc-${PV}"
+SRC="${MY_P}-src.tar.xz"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
+ amd64? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-x86_64-gentoo-linux-musl.tar.xz )
+ arm? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-armv7a-unknown-linux-musleabihf.tar.xz )
+ arm64? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-aarch64-gentoo-linux-musl.tar.xz )
+ ppc? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-powerpc-gentoo-linux-musl.tar.xz )
+ ppc64? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-powerpc64-gentoo-linux-musl.tar.xz )
+ x86? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-i686-gentoo-linux-musl.tar.xz )
+"
+
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm ${ALL_LLVM_TARGETS[*]}"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling one than more slot
+# simultaneously.
+
+# How to use it:
+# 1. List all the working slots (with min versions) in ||, newest first.
+# 2. Update the := to specify *max* version, e.g. < 9.
+# 3. Specify LLVM_MAX_SLOT, e.g. 8.
+LLVM_DEPEND="
+ || (
+ >=sys-devel/llvm-8:=[${LLVM_TARGET_USEDEPS// /,}]
+ )
+ <sys-devel/llvm-9:=
+"
+LLVM_MAX_SLOT=8
+
+COMMON_DEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-libs/http-parser:=
+ net-libs/libssh2:=
+ net-misc/curl:=[ssl]
+ sys-libs/zlib:=
+ system-llvm? (
+ ${LLVM_DEPEND}
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+ || (
+ >=sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ !system-llvm? (
+ dev-util/cmake
+ dev-util/ninja
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=app-eselect/eselect-rust-20190311
+ !dev-util/cargo
+ rustfmt? ( !dev-util/rustfmt )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+ x86? ( cpu_flags_x86_sse2 )
+"
+
+PATCHES=(
+ "${FILESDIR}/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch"
+ "${FILESDIR}/0002-Fix-LLVM-build.patch"
+ "${FILESDIR}/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch"
+ "${FILESDIR}/0004-Require-static-native-libraries-when-linking-static-.patch"
+ "${FILESDIR}/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch"
+ "${FILESDIR}/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch"
+ "${FILESDIR}/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch"
+ "${FILESDIR}/0008-Correct-minimum-system-LLVM-version-in-tests.patch"
+ "${FILESDIR}/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch"
+ "${FILESDIR}/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch"
+ "${FILESDIR}/0011-Ignore-broken-and-non-applicable-tests.patch"
+ "${FILESDIR}/0012-Link-stage-2-tools-dynamically-to-libstd.patch"
+ "${FILESDIR}/0013-Move-debugger-scripts-to-usr-share-rust.patch"
+ "${FILESDIR}/0014-Add-gentoo-target-specs.patch"
+ "${FILESDIR}/0030-liblibc-linkage.patch"
+ "${FILESDIR}/0040-rls-atomics.patch"
+ "${FILESDIR}/0050-llvm.patch"
+ "${FILESDIR}/0051-llvm-D45520.patch"
+ "${FILESDIR}/0052-llvm-D52013.patch"
+ "${FILESDIR}/0053-llvm-secureplt.patch"
+ "${FILESDIR}/0060-fix-build-with-libressl-2.9.1.patch"
+)
+
+S="${WORKDIR}/${MY_P}-src"
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pre_build_checks() {
+ CHECKREQS_DISK_BUILD="7G"
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ CHECKREQS_DISK_BUILD="10G"
+ fi
+ eshopts_pop
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ export RUST_BACKTRACE=1
+ pre_build_checks
+ python-any-r1_pkg_setup
+ if use system-llvm; then
+ llvm_pkg_setup
+ local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
+
+ export LLVM_LINK_SHARED=1
+ export RUSTFLAGS="$RUSTFLAGS -Lnative=$("$llvm_config" --libdir)"
+ fi
+}
+
+src_prepare() {
+ default
+
+ "${WORKDIR}/rust-${RUST_STAGE0_VERSION}-${CHOST}/install.sh" \
+ --destdir="${WORKDIR}/stage0" \
+ --prefix=/ \
+ --components=rust-std-$CHOST,rustc,cargo \
+ --disable-ldconfig \
+ || die
+}
+
+src_configure() {
+ local tools='"cargo"'
+
+ for tool in clippy rls rustfmt; do
+ if use $tool; then
+ tools+=", \"$tool\""
+ fi
+ done
+
+ cat <<- EOF > "${S}"/config.toml
+ [llvm]
+ ninja = true
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = ""
+ link-shared = $(toml_usex system-llvm)
+ [build]
+ build = "${CHOST}"
+ host = ["${CHOST}"]
+ target = ["${CHOST}"]
+ cargo = "${WORKDIR}/stage0/bin/cargo"
+ rustc = "${WORKDIR}/stage0/bin/rustc"
+ docs = $(toml_usex doc)
+ compiler-docs = $(toml_usex doc)
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ verbose = 0
+ sanitizers = false
+ profiler = false
+ extended = true
+ tools = [${tools}]
+ [install]
+ prefix = "${EPREFIX}/usr"
+ libdir = "lib"
+ docdir = "share/doc/${P}"
+ mandir = "share/${P}/man"
+ [rust]
+ optimize = $(toml_usex !debug)
+ debuginfo = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ default-linker = "$(tc-getCC)"
+ channel = "stable"
+ rpath = false
+ optimize-tests = $(toml_usex !debug)
+ dist-src = false
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ [target.${CHOST}]
+ cc = "$(tc-getCC)"
+ cxx = "$(tc-getCXX)"
+ linker = "$(tc-getCC)"
+ ar = "$(tc-getAR)"
+ EOF
+ use system-llvm && cat <<- EOF >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
+ EOF
+}
+
+src_compile() {
+ "${EPYTHON}" x.py build --config="${S}"/config.toml -j$(makeopts_jobs) --exclude src/tools/miri || die
+}
+
+src_test() {
+ "${EPYTHON}" x.py test -j$(makeopts_jobs) --no-doc --no-fail-fast \
+ src/test/codegen \
+ src/test/codegen-units \
+ src/test/compile-fail \
+ src/test/incremental \
+ src/test/mir-opt \
+ src/test/pretty \
+ src/test/run-fail \
+ src/test/run-fail/pretty \
+ src/test/run-make \
+ src/test/run-make-fulldeps \
+ src/test/run-pass \
+ src/test/run-pass/pretty \
+ src/test/run-pass-fulldeps \
+ src/test/run-pass-fulldeps/pretty \
+ src/test/ui \
+ src/test/ui-fulldeps || die
+}
+
+src_install() {
+ env DESTDIR="${D}" "${EPYTHON}" x.py install || die
+
+ mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
+ mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
+ mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
+ mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
+
+ rm "${ED}/usr/lib"/*.so || die
+ rm "${ED}/usr/lib/rustlib/components" || die
+ rm "${ED}/usr/lib/rustlib/install.log" || die
+ rm "${ED}/usr/lib/rustlib"/manifest-* || die
+ rm "${ED}/usr/lib/rustlib/rust-installer-version" || die
+ rm "${ED}/usr/lib/rustlib/uninstall.sh" || die
+
+ if use clippy; then
+ mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
+ mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
+ fi
+ if use rls; then
+ mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
+ fi
+ if use rustfmt; then
+ mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
+ mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
+ fi
+
+ if use doc; then
+ dodir "/usr/share/doc/${P}"
+ mv "${ED}/usr/share/doc/rust"/* "${ED}/usr/share/doc/${P}" || die
+ rmdir "${ED}/usr/share/doc/rust" || die
+ fi
+
+ dodoc COPYRIGHT
+ rm "${ED}/usr/share/doc/${P}"/*.old || die
+ rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die
+ rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die
+
+ docompress "/usr/share/${P}/man"
+
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="${EPREFIX}/usr/lib/rustlib/${CHOST}/lib"
+ MANPATH="${EPREFIX}/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ EOF
+ if use clippy; then
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ fi
+ if use rls; then
+ echo /usr/bin/rls >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ fi
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+
+ ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
+ ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
+ ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
diff --git a/dev-lang/rust/rust-1.47.0-r1.ebuild b/dev-lang/rust/rust-1.47.0-r1.ebuild
deleted file mode 100644
index 5c2bfe5..0000000
--- a/dev-lang/rust/rust-1.47.0-r1.ebuild
+++ /dev/null
@@ -1,531 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-ABI_VER="$(ver_cut 1-2)"
-SLOT="stable/${ABI_VER}"
-MY_P="rustc-${PV}"
-SRC="${MY_P}-src.tar.xz"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-RUST_TOOLCHAIN_BASEURL="https://portage.smaeul.xyz/distfiles/"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
- !system-bootstrap? (
- amd64? ( $(rust_arch_uri x86_64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- arm? ( $(rust_arch_uri armv7a-unknown-linux-musleabihf rust-${RUST_STAGE0_VERSION} ) )
- arm64? ( $(rust_arch_uri aarch64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- ppc? ( $(rust_arch_uri powerpc-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- ppc64? ( $(rust_arch_uri powerpc64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- x86? ( $(rust_arch_uri i686-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- )
-"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_arm_neon cpu_flags_arm_thumb2 cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt +system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling more than one slot
-# simultaneously.
-
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 12.
-# 3. Specify LLVM_MAX_SLOT, e.g. 11.
-LLVM_DEPEND="
- || (
- sys-devel/llvm:11[${LLVM_TARGET_USEDEPS// /,}]
- )
- <sys-devel/llvm-12:=
-"
-LLVM_MAX_SLOT=11
-
-BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- app-eselect/eselect-rust
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- dev-util/cmake
- dev-util/ninja
- )
-"
-
-# libgit2 should be at least same as bundled into libgit-sys #707746
-DEPEND="
- >=dev-libs/libgit2-0.99:=
- net-libs/libssh2:=
- net-libs/http-parser:=
- net-misc/curl:=[http2,ssl]
- elibc_musl? ( >=sys-libs/musl-1.2.1-r2 )
- sys-libs/zlib:=
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- system-llvm? (
- ${LLVM_DEPEND}
- wasm? ( sys-devel/lld )
- )
-"
-
-RDEPEND="${DEPEND}
- app-eselect/eselect-rust
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- test? ( ${ALL_LLVM_TARGETS[*]} )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warnings
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
- usr/lib/${PN}/${PV}/bin/.*
- usr/lib/${PN}/${PV}/lib/lib.*.so
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-# causes double bootstrap
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/1.46.0-don-t-create-prefix-at-time-of-check.patch
- "${FILESDIR}"/1.47.0-libressl.patch
- "${FILESDIR}"/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
- "${FILESDIR}"/0002-Fix-LLVM-build.patch
- "${FILESDIR}"/0003-Fix-linking-to-zlib-when-cross-compiling.patch
- "${FILESDIR}"/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
- "${FILESDIR}"/0005-Use-static-native-libraries-when-linking-static-exec.patch
- "${FILESDIR}"/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
- "${FILESDIR}"/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
- "${FILESDIR}"/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
- "${FILESDIR}"/0009-test-failed-doctest-output-Fix-normalization.patch
- "${FILESDIR}"/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
- "${FILESDIR}"/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
- "${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/0013-Link-stage-2-tools-dynamically-to-libstd.patch
- "${FILESDIR}"/0014-Move-debugger-scripts-to-usr-share-rust.patch
- "${FILESDIR}"/0015-Add-gentoo-target-specs.patch
- "${FILESDIR}"/0030-libc-linkage.patch
- "${FILESDIR}"/0040-rls-atomics.patch
- "${FILESDIR}"/0050-llvm.patch
- "${FILESDIR}"/0051-llvm-powerpc-elfv2.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "$1" true false
-}
-
-pre_build_checks() {
- local M=6144
- M=$(( $(usex clippy 128 0) + ${M} ))
- M=$(( $(usex miri 128 0) + ${M} ))
- M=$(( $(usex rls 512 0) + ${M} ))
- M=$(( $(usex rustfmt 256 0) + ${M} ))
- M=$(( $(usex system-llvm 0 2048) + ${M} ))
- M=$(( $(usex wasm 256 0) + ${M} ))
- M=$(( $(usex debug 15 10) * ${M} / 10 ))
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- M=$(( 15 * ${M} / 10 ))
- fi
- eshopts_pop
- M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
- M=$(( $(usex doc 256 0) + ${M} ))
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- # required to link agains system libs, otherwise
- # crates use bundled sources and compile own static version
- export LIBGIT2_SYS_USE_PKG_CONFIG=1
- export LIBSSH2_SYS_USE_PKG_CONFIG=1
- export PKG_CONFIG_ALLOW_CROSS=1
-
- if use system-llvm; then
- llvm_pkg_setup
-
- local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
-
- export LLVM_LINK_SHARED=1
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
- fi
-}
-
-src_prepare() {
- if ! use system-bootstrap; then
- local rust_stage0_root="${WORKDIR}"/rust-stage0
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-${CHOST}"
-
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
- --components=rust-std-${CHOST},rustc,cargo \
- --destdir="${rust_stage0_root}" --prefix=/ || die
- fi
-
- default
-}
-
-src_configure() {
- local arch_cflags rust_target="" rust_targets="\"$CHOST\"" tools="\"cargo\""
-
- # Collect rust target names to compile standard libs for all ABIs.
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}) | sed s/gnu/musl/)
- rust_targets="${rust_targets},\"${rust_target}\""
-
- if [ "$rust_target" = "armv7-unknown-linux-musleabihf" ] &&
- use cpu_flags_arm_neon && use cpu_flags_arm_thumb2; then
- rust_targets="${rust_targets},\"thumbv7neon-unknown-linux-musleabihf\""
- fi
- done
- if use wasm; then
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
- if use system-llvm; then
- # un-hardcode rust-lld linker for this target
- # https://bugs.gentoo.org/715348
- sed -i '/linker:/ s/rust-lld/wasm-ld/' src/librustc_target/spec/wasm32_base.rs || die
- fi
- fi
-
- if use clippy; then
- tools="\"clippy\",$tools"
- fi
- if use miri; then
- tools="\"miri\",$tools"
- fi
- if use rls; then
- tools="\"rls\",\"analysis\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- rust_stage0_root="$(rustc --print sysroot)"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
-
- rust_target="${CHOST}"
-
- cat <<- _EOF_ > "${S}"/config.toml
- [llvm]
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- ninja = true
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = ""
- link-shared = $(toml_usex system-llvm)
- [build]
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- docs = $(toml_usex doc)
- compiler-docs = $(toml_usex doc)
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- tools = [${tools}]
- verbose = 2
- sanitizers = false
- profiler = false
- cargo-native-static = false
- [install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
- sysconfdir = "etc"
- docdir = "share/doc/rust"
- bindir = "bin"
- libdir = "lib"
- mandir = "share/man"
- [rust]
- # https://github.com/rust-lang/rust/issues/54872
- codegen-units-std = 1
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debuginfo-level-rustc = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- rpath = false
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- dist-src = false
- remap-debuginfo = true
- lld = $(usex system-llvm false $(toml_usex wasm))
- backtrace-on-ice = true
- jemalloc = false
- [dist]
- src-tarball = false
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
- if use system-llvm; then
- cat <<- EOF >> "${S}"/config.toml
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- EOF
- fi
-
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}) | sed s/gnu/musl/)
- arch_cflags="$(get_abi_CFLAGS ${v##*.})"
-
- export "CFLAGS_${rust_target//-/_}"="$CFLAGS ${arch_cflags}"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
-
- if [ "$rust_target" = "armv7-unknown-linux-musleabihf" ] &&
- use cpu_flags_arm_neon && use cpu_flags_arm_thumb2; then
- rust_target=thumbv7neon-unknown-linux-musleabihf
-
- export "CFLAGS_${rust_target//-/_}"="$CFLAGS ${arch_cflags}"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
- fi
- done
-
- if use wasm; then
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.wasm32-unknown-unknown]
- linker = "$(usex system-llvm lld rust-lld)"
- _EOF_
- fi
-
- einfo "Rust configured with the following settings:"
- cat "${S}"/config.toml || die
-}
-
-src_compile() {
- RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
-}
-
-src_test() {
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html
-
- # those are basic and codegen tests.
- local tests=(
- codegen
- codegen-units
- compile-fail
- incremental
- mir-opt
- pretty
- run-make
- )
-
- # fails if llvm is not built with ALL targets.
- # and known to fail with system llvm sometimes.
- use system-llvm || tests+=( assembly )
-
- # fragile/expensive/less important tests
- # or tests that require extra builds
- # TODO: instead of skipping, just make some nonfatal.
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
- tests+=(
- rustdoc
- rustdoc-js
- rustdoc-js-std
- rustdoc-ui
- run-make-fulldeps
- ui
- ui-fulldeps
- )
- fi
-
- local i failed=()
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
- for i in "${tests[@]}"; do
- local t="src/test/${i}"
- einfo "rust_src_test: running ${t}"
- if ! RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
- then
- failed+=( "${t}" )
- eerror "rust_src_test: ${t} failed"
- fi
- done
-
- if [[ ${#failed[@]} -ne 0 ]]; then
- eerror "rust_src_test: failure summary: ${failed[@]}"
- die "aborting due to test failures"
- fi
-}
-
-src_install() {
- DESTDIR="${D}" \
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
-
- # bug #689562, #689160
- rm -v "${D}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
- rmdir -v "${D}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
- dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
-
- # Move public shared libs to abi specific libdir
- mv "${ED}/usr/lib/${PN}/${PV}/lib"/*.so "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/${CHOST}/lib" || die
-
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/components" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/install.log" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib"/manifest-* || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/rust-installer-version" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/uninstall.sh" || die
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
- use rls && symlinks+=( rls )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
- # need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${PV}"
- mv -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" "${ED}/usr/lib/${PN}/${PV}/bin/${i}" || die
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
- dosym "${PN}/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
- dosym "../../lib/${PN}/${PV}/share/doc" "/usr/share/doc/${P}"
-
- newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/${PN}/${PV}/lib/rustlib/${CHOST}/lib"
- MANPATH="${EPREFIX}/usr/lib/rust/man"
- _EOF_
-
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use miri; then
- echo /usr/bin/miri >> "${T}/provider-${P}"
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
- fi
- if use rls; then
- echo /usr/bin/rls >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- elog "Rust installs a helper script for calling GDB and LLDB,"
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
-
- if has_version app-editors/emacs; then
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] proj/musl:master commit in: dev-lang/rust/files/, dev-lang/rust/
@ 2021-03-13 21:34 Sam James
0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2021-03-13 21:34 UTC (permalink / raw
To: gentoo-commits
commit: 5ad2581618e97d502c699246f2736138a17e483e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 13 21:34:25 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 13 21:34:25 2021 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=5ad25816
Revert "dev-lang/rust: sync with ::smaeul"
This reverts commit 48d382e968f4e4cad77b7c70eb9b3e08c31ffdd1.
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-lang/rust/Manifest | 35 +-
.../0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch | 16 +-
dev-lang/rust/files/0002-Fix-LLVM-build.patch | 27 +-
...tdoc-to-work-when-cross-compiling-on-musl.patch | 36 ++
...-Fix-linking-to-zlib-when-cross-compiling.patch | 34 --
...-Fix-rustdoc-when-cross-compiling-on-musl.patch | 45 --
...ic-native-libraries-when-linking-static-.patch} | 41 +-
...-nostdlib-and-musl_root-from-musl-targets.patch | 388 +++++++++++++++
...-Prefer-libgcc_eh-over-libunwind-for-musl.patch | 24 +
...l_root-and-CRT-fallback-from-musl-targets.patch | 486 -------------------
...-Prefer-libgcc_eh-over-libunwind-for-musl.patch | 38 --
...untest-Fix-proc-macro-tests-on-musl-hosts.patch | 37 ++
...rect-minimum-system-LLVM-version-in-tests.patch | 206 ++++++++
...nk-libssp_nonshared.a-on-all-musl-targets.patch | 29 --
...t-failed-doctest-output-Fix-normalization.patch | 36 --
...extern-for-plugins-Don-t-assume-multilib.patch} | 12 +-
...t-crates-are-unstable-Fix-test-when-rpath.patch | 12 +-
...1-Ignore-broken-and-non-applicable-tests.patch} | 59 ++-
...-Link-stage-2-tools-dynamically-to-libstd.patch | 27 ++
...-Link-stage-2-tools-dynamically-to-libstd.patch | 25 -
...3-Move-debugger-scripts-to-usr-share-rust.patch | 53 ++
...cs.patch => 0014-Add-gentoo-target-specs.patch} | 58 +--
...4-Move-debugger-scripts-to-usr-share-rust.patch | 69 ---
dev-lang/rust/files/0030-libc-linkage.patch | 34 --
dev-lang/rust/files/0030-liblibc-linkage.patch | 33 ++
dev-lang/rust/files/0040-rls-atomics.patch | 20 +-
dev-lang/rust/files/0050-llvm.patch | 6 +-
dev-lang/rust/files/0051-llvm-D45520.patch | 101 ++++
dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch | 12 -
dev-lang/rust/files/0052-llvm-D52013.patch | 15 +
dev-lang/rust/files/0053-llvm-secureplt.patch | 28 ++
.../files/0060-fix-build-with-libressl-2.9.1.patch | 35 ++
...46.0-don-t-create-prefix-at-time-of-check.patch | 31 --
dev-lang/rust/files/1.47.0-libressl.patch | 44 --
dev-lang/rust/metadata.xml | 23 +-
dev-lang/rust/rust-1.34.2.ebuild | 337 +++++++++++++
dev-lang/rust/rust-1.47.0-r1.ebuild | 531 ---------------------
37 files changed, 1481 insertions(+), 1562 deletions(-)
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 5a289f2..8111391 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,28 +1,7 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-DIST rust-1.46.0-aarch64-gentoo-linux-musl.tar.xz 101117048 BLAKE2B ef9fafab60b24d5896f1d2c66718945946c0178c3434b1993add6056e3c88fab7d51923942d398bf2d0fbc0a1a9220dcef37ac289a421c3a1f6bcc6b7c755a46 SHA512 764f909849f91d3cbd071d96d6947b08b45f08b3bbd523fcea4310abc807957b0bb3b696e955182ab888c400b6c830442610d3bc510583afe0c910141514d438
-DIST rust-1.46.0-armv7a-unknown-linux-musleabihf.tar.xz 100547468 BLAKE2B 798183dee50e9e35ed2be6d21d89e49265a0764dde904409a5a52a6b0f9856b8ae566daf7651b2071c996930ca9079e39fe246cdce80eea7dc5bee5ce0b3802e SHA512 ad164673320c33a49abfd9e571291beb2394f35b03d913ab70d9da27d38427440efe87a17e0d15b4021c4355be812ab5fe5c02f9ab8f8d6d3d799a872a02ac0f
-DIST rust-1.46.0-i686-gentoo-linux-musl.tar.xz 113552128 BLAKE2B 994911aa66c8f4e6e36b3037febdf2fe1586f478a127604988858fb6bead13da2e46e6d4e2d91496ca399402db00c153fe0e77a788a7f13847ba0ebfd90dff86 SHA512 c00c7992914c4a02827e3011cad59e454f5778f2fc6224928fb1fdf5f39752474473a41273700350b54de6d940ba0964a77a341a435e8ea8f7b9750f64454dd0
-DIST rust-1.46.0-powerpc-gentoo-linux-musl.tar.xz 110418132 BLAKE2B a661d32c68f6b51ab4d023799b4d6b5246062fc34f09967b53354b765f41f3f8c354df616d9085fe1f8e29610feb676fe19570b01e2d8f34a6603fd254cbfb1b SHA512 45c76e6fd031e76d49c479d37bf5a3c691bc338f169b702645978a7eb21b912314e7e448004abc49c07068dec8d6a4933370258ded7653622190df15d34899db
-DIST rust-1.46.0-powerpc64-gentoo-linux-musl.tar.xz 94308552 BLAKE2B 1efc31c94e956180e4ad450e1d9f30996941b2754a163c57b35b1de9eda4abae80a3e90565c8170a3127fb7a95e91d08f6559c1e13e29b4cb14101dc457621ea SHA512 ed798d1d3c4353e469d3a94b25e057849ebd9bc03a8857478f6daa0b9b52dc4b026f07d637d60f9df67a12f06ee1f80c846c10871a16477a6b8ab94a93d2c3e8
-DIST rust-1.46.0-x86_64-gentoo-linux-musl.tar.xz 109962300 BLAKE2B d39f304b23e2d0c1c3729e9019608a283116db3199c8c1cc7610269c0b31de0fde782d7a3ea0f05a2be4676815556902b98627ddf57a18783f291a489ad1aa47 SHA512 2efbfbf33e1f5ef85e449eeac4a57cb6b4cc54eec33809ab211fdb84be3c03bcd5838d0ff5669c1991564e2a553c73aec0f2e7eca8912b59050f92a913eefd2c
-DIST rustc-1.47.0-src.tar.xz 104143736 BLAKE2B 0454094dde35275488046826da87655e51bf0795481d6d08fd70d644bfc12481bca8641166106ef32f20494906025244715b16ff21a1c023f4bd2818aab42521 SHA512 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9
------BEGIN PGP SIGNATURE-----
-
-iQKTBAEBCAB9FiEEZdLCSnfk9z83VSkfsaMsEcx8U7oFAmBMSUVfFIAAAAAALgAo
-aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDY1
-RDJDMjRBNzdFNEY3M0YzNzU1MjkxRkIxQTMyQzExQ0M3QzUzQkEACgkQsaMsEcx8
-U7p7Ww//RewZS0qjL32uR/Dr/ljrSEY2Yi/YqKxTzdT067ksG017bmboBWVUi6AZ
-92nD8fAiNtUl5nDneW7SD9lQaLdYPUrC+IDHB+z5hh02V1VRXL4FMbyXx/rEmZaw
-sTAUVdooJgG2Hqu0tYe/+YsaTs0j0qizaWrTVaa1hWXUIKf+KK/IePt4p5yj4rpa
-v2KmiW32gEi1Mydch1pBLl9V7HNdqnlnb+A/RCnvHIsv4neEP6s3Y2gbkj7anJ1I
-IXbEcx8iXmIGXPJBjf3JOpfsQ5Ww1mxf89SBPeEChFgV7hcsHih1MZrdSptnUE67
-0dnnbdQlbPeQGXKJWoQ9Ygpbx1k6tAX1j7kj+kRjQlk7jALxA597BcaNTRpX6dEr
-kp/UaJGrjaBQyV8MqapsH/iuh3BZI/OC7p2n9Fcc+WJHuDklWOBFlAac0dwQ2Q1W
-jnWLZfr2E/HM59VbUdZb801Xreh8jWHJRxtS9Y24qI+i2vGQYd1KYxFFn4f2xjb8
-z8s21pYEcHH/anPslqqOqZCO9q+tJdPSinHfwEfbtgsQ93ZnrKa6rl/viKU+2LfQ
-c1vNaoHzqr5ZRNNavts6SFxEF44IqddSQNdaeMSUL6D72w7EJE1c9kIW5vUrP8sc
-tbemF58TNgFX0ABi0Xo0qtXPQKsEtE/e1yrgdFarWKvSUR3I828=
-=4ZOz
------END PGP SIGNATURE-----
+DIST rust-1.33.0-aarch64-gentoo-linux-musl.tar.xz 103260664 BLAKE2B 2eeecf50ab275abc5679e4be56c3322c1967bbb1926e375910df1d3b5aee042cbb37c56ecede542668a63360bc9db82ec731a927a180399df99b30ff09b70c15 SHA512 de9ae088cc4ca76fc619dc8de4fe7f362bc8039c03d9b09ab905b7e551ef0b0fa2d678a984200efddfee542adf5f5a951bd24788a39940bace03d3fe829f4747
+DIST rust-1.33.0-armv7a-unknown-linux-musleabihf.tar.xz 102032976 BLAKE2B 9f00a004d575962ca3dd3d0d70190210111e9347f35e6858fc30a085495d48a03751645bfdb4940c7db2dc8bf74d08611dfec05fe53e5022e7360ed51c39f33a SHA512 45b5af051663c7ee7ff7c663af57dfbaaa3c9f69dd22c36134534e77a715d1acc101891f4a7e798fcab38e8accd284cc15df35da20552872894bc6da6dab89ff
+DIST rust-1.33.0-i686-gentoo-linux-musl.tar.xz 116133752 BLAKE2B a9cf13caa12da6ad20bbcbb592d3fa423eb6f90d50c9af41db17cb2f587d0ef90d19652e75742da49d8e187c8e393137998e384b5d9686cfff28553c7aab1f71 SHA512 eaef8169451b02cdee67fe40def8d0ab0d91e527ad4964b8bdafca8677bd2bcea265ba3be5a90c99589b8639ca3e026a540d295a5233f73da873e56e9ffea83f
+DIST rust-1.33.0-powerpc-gentoo-linux-musl.tar.xz 104602692 BLAKE2B bef7cacfd7d9e411f18f6b64403c3bdc33bb17270f966aa9cb6ff99e80d8da9bd1346e8c3e3081df7bee3f367d3940b3badd6aeec6859f4a3de75cfeb108de1a SHA512 2314b5d31c9cc31b28a3668ebd4e1a88a4f090c60b141c8e3e4fb06b4c311ef64ab9217acbdb34417e1f3aaf74fda2087ba90ad70075b7197471bf8bfc804370
+DIST rust-1.33.0-powerpc64-gentoo-linux-musl.tar.xz 98455708 BLAKE2B fde1ca61ddcfe1091aa2c39ffb9ea47ef4ef2b63557059eeda4df6c90bcf30b22bf09e0bd301d7993d27d18e0c5dbc84db123613a8ac31c68abcb56d1b3892bc SHA512 9dbe37abd4edd519ac3596d405b9af7a4a3de1da56161bed66f9f2f40d505beaa9d7c998c6775d6c86d4e086e5cb085f65702b6be7a182663c1e0c6b2095a242
+DIST rust-1.33.0-x86_64-gentoo-linux-musl.tar.xz 113838416 BLAKE2B 2d118520a118746ca16aac7b336e03805c3a02df20b2abdd2e9f6a4fcc062c17b0d057347447027287f8fdceeaa34a171835e6f22d45098097b540c97cee23a1 SHA512 cd2a6277af99cfaf84f5d293a09e0af9189e1d9148bc4031dd32620f0eb086695e175c6a04e6cceb673af976566114e4a75d42654505d295135a8fc95eb2f850
+DIST rustc-1.34.2-src.tar.xz 95048792 BLAKE2B e81e4bfda87ddfb09ab8a74792346970aa440c678d2bb1279c329db4929282f761ada6fea9d81ceeecfd513613025c8e636487626fc36bd0b33559e045bb1b15 SHA512 f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381
diff --git a/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
index 40bf4dc..f4df88e 100644
--- a/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+++ b/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
@@ -1,26 +1,26 @@
-From ba948554d0241f52fdc762abf21c101445d1fdc4 Mon Sep 17 00:00:00 2001
+From 4b5cdf991eb8776927a2730ed73446559856b468 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Wed, 10 Jan 2018 13:36:41 -0600
-Subject: [PATCH 01/15] Don't pass CFLAGS to the C++ compiler
+Subject: [PATCH 01/14] Don't pass CFLAGS to the C++ compiler
---
src/bootstrap/builder.rs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 6446fa7550d..29fec3a5717 100644
+index a471af2576..f4273729bb 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
-@@ -1244,8 +1244,7 @@ impl<'a> Builder<'a> {
+@@ -1068,8 +1068,7 @@ impl<'a> Builder<'a> {
if let Ok(cxx) = self.cxx(target) {
let cxx = ccacheify(&cxx);
cargo
-- .env(format!("CXX_{}", target.triple), &cxx)
-- .env(format!("CXXFLAGS_{}", target.triple), cflags);
-+ .env(format!("CXX_{}", target.triple), &cxx);
+- .env(format!("CXX_{}", target), &cxx)
+- .env(format!("CXXFLAGS_{}", target), cflags);
++ .env(format!("CXX_{}", target), &cxx);
}
}
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0002-Fix-LLVM-build.patch b/dev-lang/rust/files/0002-Fix-LLVM-build.patch
index c04d445..0a8ecec 100644
--- a/dev-lang/rust/files/0002-Fix-LLVM-build.patch
+++ b/dev-lang/rust/files/0002-Fix-LLVM-build.patch
@@ -1,25 +1,26 @@
-From def3b8596d3d0bccff07f2524b96d2f490b9aa82 Mon Sep 17 00:00:00 2001
+From 22fac16a9a1651eb9ac121761583ff6031a15077 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:04:29 -0500
-Subject: [PATCH 02/15] Fix LLVM build
+Subject: [PATCH 02/14] Fix LLVM build
---
- src/bootstrap/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/bootstrap/lib.rs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index a42ee11bd6f..77316c734b8 100644
+index 7e6fbdff12..f1e7f05aa9 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
-@@ -798,7 +798,7 @@ impl Build {
- .args()
- .iter()
- .map(|s| s.to_string_lossy().into_owned())
-- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-+ .filter(|s| !s.starts_with("-O") && !s.starts_with("/O") && !s.starts_with("-static"))
- .collect::<Vec<String>>();
+@@ -764,7 +764,8 @@ impl Build {
+ // cc-rs because the build scripts will determine that for themselves.
+ let mut base = self.cc[&target].args().iter()
+ .map(|s| s.to_string_lossy().into_owned())
+- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
++ .filter(|s| !s.starts_with("-O") && !s.starts_with("/O")
++ && !s.starts_with("-static"))
+ .collect::<Vec<String>>();
// If we're compiling on macOS then we add a few unconditional flags
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch b/dev-lang/rust/files/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
new file mode 100644
index 0000000..087dea2
--- /dev/null
+++ b/dev-lang/rust/files/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
@@ -0,0 +1,36 @@
+From c4565fab697249c4233c97f7855fe692a5a880a4 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sat, 2 Dec 2017 17:25:44 -0600
+Subject: [PATCH 03/14] Allow rustdoc to work when cross-compiling on musl
+
+musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
+---
+ src/bootstrap/bin/rustdoc.rs | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
+index 52b5971f0a..c779e35e26 100644
+--- a/src/bootstrap/bin/rustdoc.rs
++++ b/src/bootstrap/bin/rustdoc.rs
+@@ -23,9 +23,6 @@ fn main() {
+ Err(_) => 0,
+ };
+
+- let mut dylib_path = bootstrap::util::dylib_path();
+- dylib_path.insert(0, PathBuf::from(libdir.clone()));
+-
+ //FIXME(misdreavus): once stdsimd uses cfg(rustdoc) instead of cfg(dox), remove the `--cfg dox`
+ //arguments here
+ let mut cmd = Command::new(rustdoc);
+@@ -37,7 +34,7 @@ fn main() {
+ .arg("--sysroot")
+ .arg(sysroot)
+ .env(bootstrap::util::dylib_path_var(),
+- env::join_paths(&dylib_path).unwrap());
++ PathBuf::from(libdir.clone()));
+
+ // Force all crates compiled by this compiler to (a) be unstable and (b)
+ // allow the `rustc_private` feature to link to other unstable crates
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch b/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch
deleted file mode 100644
index 4c9f06c..0000000
--- a/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 466ffdcb0b132ce135242180e66097ba178122b9 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 1 Nov 2020 20:13:23 -0600
-Subject: [PATCH 03/15] Fix linking to zlib when cross-compiling
-
----
- src/librustc_llvm/build.rs | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/librustc_llvm/build.rs b/src/librustc_llvm/build.rs
-index 25c0b40c495..485cd05ad63 100644
---- a/src/librustc_llvm/build.rs
-+++ b/src/librustc_llvm/build.rs
-@@ -192,14 +192,13 @@ fn main() {
- // of llvm-config, not the target that we're attempting to link.
- let mut cmd = Command::new(&llvm_config);
- cmd.arg(llvm_link_arg).arg("--libs");
-+ cmd.arg("--system-libs");
-+ cmd.args(&components);
-
-- if !is_crossed {
-- cmd.arg("--system-libs");
-- } else if target.contains("windows-gnu") {
-+ if target.contains("windows-gnu") {
- println!("cargo:rustc-link-lib=shell32");
- println!("cargo:rustc-link-lib=uuid");
- }
-- cmd.args(&components);
-
- for lib in output(&mut cmd).split_whitespace() {
- let name = if lib.starts_with("-l") {
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch b/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
deleted file mode 100644
index c6a7d79..0000000
--- a/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From db1328ce566169bf174beb82648eb9b3f075adee Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sat, 2 Dec 2017 17:25:44 -0600
-Subject: [PATCH 04/15] Fix rustdoc when cross-compiling on musl
-
-musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
----
- src/bootstrap/bin/rustdoc.rs | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
-index ab846adf942..bb4cbb038f3 100644
---- a/src/bootstrap/bin/rustdoc.rs
-+++ b/src/bootstrap/bin/rustdoc.rs
-@@ -21,9 +21,6 @@ fn main() {
- Err(_) => 0,
- };
-
-- let mut dylib_path = bootstrap::util::dylib_path();
-- dylib_path.insert(0, PathBuf::from(libdir.clone()));
--
- //FIXME(misdreavus): once stdsimd uses cfg(doc) instead of cfg(dox), remove the `--cfg dox`
- //arguments here
- let mut cmd = Command::new(rustdoc);
-@@ -34,7 +31,7 @@ fn main() {
- .arg("dox")
- .arg("--sysroot")
- .arg(&sysroot)
-- .env(bootstrap::util::dylib_path_var(), env::join_paths(&dylib_path).unwrap());
-+ .env(bootstrap::util::dylib_path_var(), PathBuf::from(libdir.clone()));
-
- // Force all crates compiled by this compiler to (a) be unstable and (b)
- // allow the `rustc_private` feature to link to other unstable crates
-@@ -59,7 +56,7 @@ fn main() {
- eprintln!(
- "rustdoc command: {:?}={:?} {:?}",
- bootstrap::util::dylib_path_var(),
-- env::join_paths(&dylib_path).unwrap(),
-+ PathBuf::from(libdir.clone()),
- cmd,
- );
- eprintln!("sysroot: {:?}", sysroot);
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch b/dev-lang/rust/files/0004-Require-static-native-libraries-when-linking-static-.patch
similarity index 56%
rename from dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch
rename to dev-lang/rust/files/0004-Require-static-native-libraries-when-linking-static-.patch
index 5d1836d..6238e50 100644
--- a/dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch
+++ b/dev-lang/rust/files/0004-Require-static-native-libraries-when-linking-static-.patch
@@ -1,7 +1,7 @@
-From f108b83c877724fd9f94f087fc529765c9bbdb14 Mon Sep 17 00:00:00 2001
+From 859624e56281aff33673dcceb34698bd30eceea3 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:05:18 -0500
-Subject: [PATCH 05/15] Use static native libraries when linking static
+Subject: [PATCH 04/14] Require static native libraries when linking static
executables
On ELF targets like Linux, gcc/ld will create a dynamically-linked
@@ -9,15 +9,17 @@ executable without warning, even when passed `-static`, when asked to
link to a `.so`. Avoid this confusing and unintended behavior by always
using the static version of libraries when trying to link static
executables.
+
+Fixes #54243
---
- src/librustc_codegen_ssa/back/link.rs | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
+ src/librustc_codegen_llvm/back/link.rs | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
-diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs
-index bfcf979d125..70bc9d5e980 100644
---- a/src/librustc_codegen_ssa/back/link.rs
-+++ b/src/librustc_codegen_ssa/back/link.rs
-@@ -2057,9 +2057,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
+diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs
+index 819f7f9410..49adc5dfca 100644
+--- a/src/librustc_codegen_llvm/back/link.rs
++++ b/src/librustc_codegen_llvm/back/link.rs
+@@ -1413,9 +1413,7 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker,
}
}
@@ -28,28 +30,27 @@ index bfcf979d125..70bc9d5e980 100644
//
// 1. The upstream crate is an rlib. In this case we *must* link in the
// native dependency because the rlib is just an archive.
-@@ -2108,7 +2106,20 @@ fn add_upstream_native_libraries(
- continue;
+@@ -1458,7 +1456,19 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker,
+ continue
}
match lib.kind {
-- NativeLibKind::Dylib | NativeLibKind::Unspecified => cmd.link_dylib(name),
-+ NativeLibKind::Unspecified => {
+- NativeLibraryKind::NativeUnknown => cmd.link_dylib(&name.as_str()),
++ NativeLibraryKind::NativeUnknown => {
+ // On some targets, like Linux, linking a static executable inhibits using
+ // dylibs at all. Force native libraries to be static, even if for example
+ // an upstream rlib was originally linked against a native shared library.
+ if crate_type == config::CrateType::Executable
-+ && sess.crt_static(Some(crate_type))
++ && sess.crt_static()
+ && !sess.target.target.options.crt_static_allows_dylibs
+ {
-+ cmd.link_staticlib(name)
++ cmd.link_staticlib(&name.as_str())
+ } else {
-+ cmd.link_dylib(name)
++ cmd.link_dylib(&name.as_str())
+ }
+ },
-+ NativeLibKind::Dylib => cmd.link_dylib(name),
- NativeLibKind::Framework => cmd.link_framework(name),
- NativeLibKind::StaticNoBundle => {
+ NativeLibraryKind::NativeFramework => cmd.link_framework(&name.as_str()),
+ NativeLibraryKind::NativeStaticNobundle => {
// Link "static-nobundle" native libs only if the crate they originate from
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/dev-lang/rust/files/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
new file mode 100644
index 0000000..b8ca293
--- /dev/null
+++ b/dev-lang/rust/files/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -0,0 +1,388 @@
+From d84f9863017bd4bb38c5a2063c679dc3132ecf28 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Fri, 8 Sep 2017 22:11:14 -0500
+Subject: [PATCH 05/14] Remove -nostdlib and musl_root from musl targets
+
+---
+ config.toml.example | 6 ----
+ src/bootstrap/bin/rustc.rs | 12 --------
+ src/bootstrap/cc_detect.rs | 27 ++----------------
+ src/bootstrap/compile.rs | 21 --------------
+ src/bootstrap/config.rs | 7 -----
+ src/bootstrap/configure.py | 22 ---------------
+ src/bootstrap/lib.rs | 8 ------
+ src/bootstrap/sanity.rs | 28 -------------------
+ .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 --
+ src/ci/docker/dist-various-1/Dockerfile | 7 -----
+ src/ci/docker/dist-x86_64-musl/Dockerfile | 1 -
+ src/librustc_target/spec/linux_musl_base.rs | 16 -----------
+ 12 files changed, 3 insertions(+), 154 deletions(-)
+
+diff --git a/config.toml.example b/config.toml.example
+index f45db37c33..50692bf74a 100644
+--- a/config.toml.example
++++ b/config.toml.example
+@@ -470,12 +470,6 @@
+ # only use static libraries. If unset, the target's default linkage is used.
+ #crt-static = false
+
+-# The root location of the MUSL installation directory. The library directory
+-# will also need to contain libunwind.a for an unwinding implementation. Note
+-# that this option only makes sense for MUSL targets that produce statically
+-# linked binaries
+-#musl-root = "..."
+-
+ # Used in testing for configuring where the QEMU images are located, you
+ # probably don't want to use this.
+ #qemu-rootfs = "..."
+diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
+index b6afe317a0..0eace41a5a 100644
+--- a/src/bootstrap/bin/rustc.rs
++++ b/src/bootstrap/bin/rustc.rs
+@@ -18,7 +18,6 @@
+ #![deny(warnings)]
+
+ use std::env;
+-use std::ffi::OsString;
+ use std::io;
+ use std::path::PathBuf;
+ use std::process::Command;
+@@ -114,17 +113,6 @@ fn main() {
+ cmd.arg("-Cprefer-dynamic");
+ }
+
+- // Help the libc crate compile by assisting it in finding the MUSL
+- // native libraries.
+- if let Some(s) = env::var_os("MUSL_ROOT") {
+- if target.contains("musl") {
+- let mut root = OsString::from("native=");
+- root.push(&s);
+- root.push("/lib");
+- cmd.arg("-L").arg(&root);
+- }
+- }
+-
+ // Override linker if necessary.
+ if let Ok(target_linker) = env::var("RUSTC_TARGET_LINKER") {
+ cmd.arg(format!("-Clinker={}", target_linker));
+diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
+index dfc243b705..848d1d4b2b 100644
+--- a/src/bootstrap/cc_detect.rs
++++ b/src/bootstrap/cc_detect.rs
+@@ -84,7 +84,7 @@ pub fn find(build: &mut Build) {
+ if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
+ cfg.compiler(cc);
+ } else {
+- set_compiler(&mut cfg, Language::C, target, config, build);
++ set_compiler(&mut cfg, Language::C, target, config);
+ }
+
+ let compiler = cfg.get_compiler();
+@@ -113,7 +113,7 @@ pub fn find(build: &mut Build) {
+ if let Some(cxx) = config.and_then(|c| c.cxx.as_ref()) {
+ cfg.compiler(cxx);
+ } else {
+- set_compiler(&mut cfg, Language::CPlusPlus, host, config, build);
++ set_compiler(&mut cfg, Language::CPlusPlus, host, config);
+ }
+ let compiler = cfg.get_compiler();
+ build.verbose(&format!("CXX_{} = {:?}", host, compiler.path()));
+@@ -124,8 +124,7 @@ pub fn find(build: &mut Build) {
+ fn set_compiler(cfg: &mut cc::Build,
+ compiler: Language,
+ target: Interned<String>,
+- config: Option<&Target>,
+- build: &Build) {
++ config: Option<&Target>) {
+ match &*target {
+ // When compiling for android we may have the NDK configured in the
+ // config.toml in which case we look there. Otherwise the default
+@@ -165,26 +164,6 @@ fn set_compiler(cfg: &mut cc::Build,
+ }
+ }
+
+- "mips-unknown-linux-musl" => {
+- if cfg.get_compiler().path().to_str() == Some("gcc") {
+- cfg.compiler("mips-linux-musl-gcc");
+- }
+- }
+- "mipsel-unknown-linux-musl" => {
+- if cfg.get_compiler().path().to_str() == Some("gcc") {
+- cfg.compiler("mipsel-linux-musl-gcc");
+- }
+- }
+-
+- t if t.contains("musl") => {
+- if let Some(root) = build.musl_root(target) {
+- let guess = root.join("bin/musl-gcc");
+- if guess.exists() {
+- cfg.compiler(guess);
+- }
+- }
+- }
+-
+ _ => {}
+ }
+ }
+diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
+index 249a183189..bfc62c762a 100644
+--- a/src/bootstrap/compile.rs
++++ b/src/bootstrap/compile.rs
+@@ -114,21 +114,6 @@ impl Step for Std {
+ fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: Interned<String>) {
+ let libdir = builder.sysroot_libdir(*compiler, target);
+
+- // Copies the crt(1,i,n).o startup objects
+- //
+- // Since musl supports fully static linking, we can cross link for it even
+- // with a glibc-targeting toolchain, given we have the appropriate startup
+- // files. As those shipped with glibc won't work, copy the ones provided by
+- // musl so we have them on linux-gnu hosts.
+- if target.contains("musl") {
+- for &obj in &["crt1.o", "crti.o", "crtn.o"] {
+- builder.copy(
+- &builder.musl_root(target).unwrap().join("lib").join(obj),
+- &libdir.join(obj),
+- );
+- }
+- }
+-
+ // Copies libunwind.a compiled to be linked wit x86_64-fortanix-unknown-sgx.
+ //
+ // This target needs to be linked to Fortanix's port of llvm's libunwind.
+@@ -182,12 +167,6 @@ pub fn std_cargo(builder: &Builder<'_>,
+ cargo.arg("--features").arg(features)
+ .arg("--manifest-path")
+ .arg(builder.src.join("src/libstd/Cargo.toml"));
+-
+- if target.contains("musl") {
+- if let Some(p) = builder.musl_root(target) {
+- cargo.env("MUSL_ROOT", p);
+- }
+- }
+ }
+ }
+
+diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
+index 7d3e584f1a..3f0113e11a 100644
+--- a/src/bootstrap/config.rs
++++ b/src/bootstrap/config.rs
+@@ -132,8 +132,6 @@ pub struct Config {
+ pub print_step_timings: bool,
+ pub missing_tools: bool,
+
+- // Fallback musl-root for all targets
+- pub musl_root: Option<PathBuf>,
+ pub prefix: Option<PathBuf>,
+ pub sysconfdir: Option<PathBuf>,
+ pub datadir: Option<PathBuf>,
+@@ -168,7 +166,6 @@ pub struct Target {
+ pub linker: Option<PathBuf>,
+ pub ndk: Option<PathBuf>,
+ pub crt_static: Option<bool>,
+- pub musl_root: Option<PathBuf>,
+ pub qemu_rootfs: Option<PathBuf>,
+ pub no_std: bool,
+ }
+@@ -304,7 +301,6 @@ struct Rust {
+ backtrace: Option<bool>,
+ default_linker: Option<String>,
+ channel: Option<String>,
+- musl_root: Option<String>,
+ rpath: Option<bool>,
+ optimize_tests: Option<bool>,
+ debuginfo_tests: Option<bool>,
+@@ -343,7 +339,6 @@ struct TomlTarget {
+ linker: Option<String>,
+ android_ndk: Option<String>,
+ crt_static: Option<bool>,
+- musl_root: Option<String>,
+ qemu_rootfs: Option<String>,
+ }
+
+@@ -562,7 +557,6 @@ impl Config {
+ set(&mut config.llvm_tools_enabled, rust.llvm_tools);
+ config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
+ config.rustc_default_linker = rust.default_linker.clone();
+- config.musl_root = rust.musl_root.clone().map(PathBuf::from);
+ config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from);
+ set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings));
+ set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
+@@ -605,7 +599,6 @@ impl Config {
+ target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
+ target.linker = cfg.linker.clone().map(PathBuf::from);
+ target.crt_static = cfg.crt_static.clone();
+- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
+ target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
+
+ config.target_config.insert(INTERNER.intern_string(triple.clone()), target);
+diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
+index b2d8f2d8eb..c3bb94938f 100755
+--- a/src/bootstrap/configure.py
++++ b/src/bootstrap/configure.py
+@@ -109,28 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
+ "aarch64-linux-android NDK standalone path")
+ v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk",
+ "x86_64-linux-android NDK standalone path")
+-v("musl-root", "target.x86_64-unknown-linux-musl.musl-root",
+- "MUSL root installation directory (deprecated)")
+-v("musl-root-x86_64", "target.x86_64-unknown-linux-musl.musl-root",
+- "x86_64-unknown-linux-musl install directory")
+-v("musl-root-i586", "target.i586-unknown-linux-musl.musl-root",
+- "i586-unknown-linux-musl install directory")
+-v("musl-root-i686", "target.i686-unknown-linux-musl.musl-root",
+- "i686-unknown-linux-musl install directory")
+-v("musl-root-arm", "target.arm-unknown-linux-musleabi.musl-root",
+- "arm-unknown-linux-musleabi install directory")
+-v("musl-root-armhf", "target.arm-unknown-linux-musleabihf.musl-root",
+- "arm-unknown-linux-musleabihf install directory")
+-v("musl-root-armv5te", "target.armv5te-unknown-linux-musleabi.musl-root",
+- "armv5te-unknown-linux-musleabi install directory")
+-v("musl-root-armv7", "target.armv7-unknown-linux-musleabihf.musl-root",
+- "armv7-unknown-linux-musleabihf install directory")
+-v("musl-root-aarch64", "target.aarch64-unknown-linux-musl.musl-root",
+- "aarch64-unknown-linux-musl install directory")
+-v("musl-root-mips", "target.mips-unknown-linux-musl.musl-root",
+- "mips-unknown-linux-musl install directory")
+-v("musl-root-mipsel", "target.mipsel-unknown-linux-musl.musl-root",
+- "mipsel-unknown-linux-musl install directory")
+ v("qemu-armhf-rootfs", "target.arm-unknown-linux-gnueabihf.qemu-rootfs",
+ "rootfs in qemu testing, you probably don't want to use this")
+ v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
+diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
+index f1e7f05aa9..4ee1444db3 100644
+--- a/src/bootstrap/lib.rs
++++ b/src/bootstrap/lib.rs
+@@ -842,14 +842,6 @@ impl Build {
+ }
+ }
+
+- /// Returns the "musl root" for this `target`, if defined
+- fn musl_root(&self, target: Interned<String>) -> Option<&Path> {
+- self.config.target_config.get(&target)
+- .and_then(|t| t.musl_root.as_ref())
+- .or(self.config.musl_root.as_ref())
+- .map(|p| &**p)
+- }
+-
+ /// Returns `true` if this is a no-std `target`, if defined
+ fn no_std(&self, target: Interned<String>) -> Option<bool> {
+ self.config.target_config.get(&target)
+diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
+index ff4fb85bbf..ff45200bde 100644
+--- a/src/bootstrap/sanity.rs
++++ b/src/bootstrap/sanity.rs
+@@ -169,34 +169,6 @@ pub fn check(build: &mut Build) {
+ }
+ }
+
+- // Make sure musl-root is valid
+- if target.contains("musl") {
+- // If this is a native target (host is also musl) and no musl-root is given,
+- // fall back to the system toolchain in /usr before giving up
+- if build.musl_root(*target).is_none() && build.config.build == *target {
+- let target = build.config.target_config.entry(target.clone())
+- .or_default();
+- target.musl_root = Some("/usr".into());
+- }
+- match build.musl_root(*target) {
+- Some(root) => {
+- if fs::metadata(root.join("lib/libc.a")).is_err() {
+- panic!("couldn't find libc.a in musl dir: {}",
+- root.join("lib").display());
+- }
+- if fs::metadata(root.join("lib/libunwind.a")).is_err() {
+- panic!("couldn't find libunwind.a in musl dir: {}",
+- root.join("lib").display());
+- }
+- }
+- None => {
+- panic!("when targeting MUSL either the rust.musl-root \
+- option or the target.$TARGET.musl-root option must \
+- be specified in config.toml")
+- }
+- }
+- }
+-
+ if target.contains("msvc") {
+ // There are three builds of cmake on windows: MSVC, MinGW, and
+ // Cygwin. The Cygwin build does not have generators for Visual
+diff --git a/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile b/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile
+index ba2d32a929..412c37fdd1 100644
+--- a/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile
++++ b/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile
+@@ -30,8 +30,6 @@ COPY scripts/sccache.sh /scripts/
+ RUN sh /scripts/sccache.sh
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-i586=/musl-i586 \
+- --musl-root-i686=/musl-i686 \
+ --enable-extended \
+ --disable-docs
+
+diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile
+index f80293b182..52f28df826 100644
+--- a/src/ci/docker/dist-various-1/Dockerfile
++++ b/src/ci/docker/dist-various-1/Dockerfile
+@@ -130,13 +130,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
+ CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-armv5te=/musl-armv5te \
+- --musl-root-arm=/musl-arm \
+- --musl-root-armhf=/musl-armhf \
+- --musl-root-armv7=/musl-armv7 \
+- --musl-root-aarch64=/musl-aarch64 \
+- --musl-root-mips=/musl-mips \
+- --musl-root-mipsel=/musl-mipsel \
+ --enable-emscripten \
+ --disable-docs
+
+diff --git a/src/ci/docker/dist-x86_64-musl/Dockerfile b/src/ci/docker/dist-x86_64-musl/Dockerfile
+index 06f8a2fbba..f5dd379528 100644
+--- a/src/ci/docker/dist-x86_64-musl/Dockerfile
++++ b/src/ci/docker/dist-x86_64-musl/Dockerfile
+@@ -30,7 +30,6 @@ COPY scripts/sccache.sh /scripts/
+ RUN sh /scripts/sccache.sh
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-x86_64=/musl-x86_64 \
+ --enable-extended \
+ --disable-docs
+
+diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
+index e294e63982..58ae91a96a 100644
+--- a/src/librustc_target/spec/linux_musl_base.rs
++++ b/src/librustc_target/spec/linux_musl_base.rs
+@@ -3,28 +3,12 @@ use crate::spec::{LinkerFlavor, TargetOptions};
+ pub fn opts() -> TargetOptions {
+ let mut base = super::linux_base::opts();
+
+- // Make sure that the linker/gcc really don't pull in anything, including
+- // default objects, libs, etc.
+- base.pre_link_args_crt.insert(LinkerFlavor::Gcc, Vec::new());
+- base.pre_link_args_crt.get_mut(&LinkerFlavor::Gcc).unwrap().push("-nostdlib".to_string());
+-
+ // At least when this was tested, the linker would not add the
+ // `GNU_EH_FRAME` program header to executables generated, which is required
+ // when unwinding to locate the unwinding information. I'm not sure why this
+ // argument is *not* necessary for normal builds, but it can't hurt!
+ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,--eh-frame-hdr".to_string());
+
+- // When generating a statically linked executable there's generally some
+- // small setup needed which is listed in these files. These are provided by
+- // a musl toolchain and are linked by default by the `musl-gcc` script. Note
+- // that `gcc` also does this by default, it just uses some different files.
+- //
+- // Each target directory for musl has these object files included in it so
+- // they'll be included from there.
+- base.pre_link_objects_exe_crt.push("crt1.o".to_string());
+- base.pre_link_objects_exe_crt.push("crti.o".to_string());
+- base.post_link_objects_crt.push("crtn.o".to_string());
+-
+ // These targets statically link libc by default
+ base.crt_static_default = true;
+ // These targets allow the user to choose between static and dynamic linking.
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/dev-lang/rust/files/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
new file mode 100644
index 0000000..ea8a7a0
--- /dev/null
+++ b/dev-lang/rust/files/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
@@ -0,0 +1,24 @@
+From af88a145ea4fbcda9f1d16a53a341282d2129b07 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sat, 9 Sep 2017 00:14:16 -0500
+Subject: [PATCH 06/14] Prefer libgcc_eh over libunwind for musl
+
+---
+ src/libunwind/lib.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
+index 0ccffea317..935175dd8d 100644
+--- a/src/libunwind/lib.rs
++++ b/src/libunwind/lib.rs
+@@ -26,6 +26,6 @@ cfg_if! {
+ }
+
+ #[cfg(target_env = "musl")]
+-#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
++#[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
+ #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
+ extern {}
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch b/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
deleted file mode 100644
index f241be8..0000000
--- a/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
+++ /dev/null
@@ -1,486 +0,0 @@
-From 1e13488d9fc661f8f489609dcfc6ed8b61957ca3 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Fri, 8 Sep 2017 22:11:14 -0500
-Subject: [PATCH 06/15] Remove musl_root and CRT fallback from musl targets
-
----
- config.toml.example | 12 --------
- src/bootstrap/cc_detect.rs | 27 ++----------------
- src/bootstrap/compile.rs | 28 +------------------
- src/bootstrap/config.rs | 10 -------
- src/bootstrap/configure.py | 28 -------------------
- src/bootstrap/lib.rs | 19 -------------
- src/bootstrap/sanity.rs | 22 ---------------
- .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 --
- .../host-x86_64/dist-various-1/Dockerfile | 9 ------
- .../host-x86_64/dist-various-2/Dockerfile | 3 +-
- .../host-x86_64/dist-x86_64-musl/Dockerfile | 1 -
- .../host-x86_64/test-various/Dockerfile | 1 -
- src/librustc_codegen_ssa/back/link.rs | 6 +---
- src/librustc_target/spec/crt_objects.rs | 18 ------------
- src/librustc_target/spec/linux_musl_base.rs | 5 ----
- 15 files changed, 5 insertions(+), 186 deletions(-)
-
-diff --git a/config.toml.example b/config.toml.example
-index 36587cc0784..c74dd740868 100644
---- a/config.toml.example
-+++ b/config.toml.example
-@@ -385,9 +385,6 @@
- # nightly features
- #channel = "dev"
-
--# The root location of the musl installation directory.
--#musl-root = "..."
--
- # By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
- # platforms to ensure that the compiler is usable by default from the build
- # directory (as it links to a number of dynamic libraries). This may not be
-@@ -530,15 +527,6 @@
- # only use static libraries. If unset, the target's default linkage is used.
- #crt-static = false
-
--# The root location of the musl installation directory. The library directory
--# will also need to contain libunwind.a for an unwinding implementation. Note
--# that this option only makes sense for musl targets that produce statically
--# linked binaries
--#musl-root = "..."
--
--# The full path to the musl libdir.
--#musl-libdir = musl-root/lib
--
- # The root location of the `wasm32-wasi` sysroot.
- #wasi-root = "..."
-
-diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index 7ff00d85dd2..ae80d8a5963 100644
---- a/src/bootstrap/cc_detect.rs
-+++ b/src/bootstrap/cc_detect.rs
-@@ -42,8 +42,6 @@ fn cc2ar(cc: &Path, target: TargetSelection) -> Option<PathBuf> {
- Some(PathBuf::from(ar))
- } else if target.contains("msvc") {
- None
-- } else if target.contains("musl") {
-- Some(PathBuf::from("ar"))
- } else if target.contains("openbsd") {
- Some(PathBuf::from("ar"))
- } else if target.contains("vxworks") {
-@@ -98,7 +96,7 @@ pub fn find(build: &mut Build) {
- if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
- cfg.compiler(cc);
- } else {
-- set_compiler(&mut cfg, Language::C, target, config, build);
-+ set_compiler(&mut cfg, Language::C, target, config);
- }
-
- let compiler = cfg.get_compiler();
-@@ -126,7 +124,7 @@ pub fn find(build: &mut Build) {
- cfg.compiler(cxx);
- true
- } else if build.hosts.contains(&target) || build.build == target {
-- set_compiler(&mut cfg, Language::CPlusPlus, target, config, build);
-+ set_compiler(&mut cfg, Language::CPlusPlus, target, config);
- true
- } else {
- false
-@@ -155,7 +153,6 @@ fn set_compiler(
- compiler: Language,
- target: TargetSelection,
- config: Option<&Target>,
-- build: &Build,
- ) {
- match &*target.triple {
- // When compiling for android we may have the NDK configured in the
-@@ -198,26 +195,6 @@ fn set_compiler(
- }
- }
-
-- "mips-unknown-linux-musl" => {
-- if cfg.get_compiler().path().to_str() == Some("gcc") {
-- cfg.compiler("mips-linux-musl-gcc");
-- }
-- }
-- "mipsel-unknown-linux-musl" => {
-- if cfg.get_compiler().path().to_str() == Some("gcc") {
-- cfg.compiler("mipsel-linux-musl-gcc");
-- }
-- }
--
-- t if t.contains("musl") => {
-- if let Some(root) = build.musl_root(target) {
-- let guess = root.join("bin/musl-gcc");
-- if guess.exists() {
-- cfg.compiler(guess);
-- }
-- }
-- }
--
- _ => {}
- }
- }
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 373e240cb8e..0be09300f7c 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -166,24 +166,7 @@ fn copy_self_contained_objects(
-
- // Copies the CRT objects.
- //
-- // rustc historically provides a more self-contained installation for musl targets
-- // not requiring the presence of a native musl toolchain. For example, it can fall back
-- // to using gcc from a glibc-targeting toolchain for linking.
-- // To do that we have to distribute musl startup objects as a part of Rust toolchain
-- // and link with them manually in the self-contained mode.
-- if target.contains("musl") {
-- let srcdir = builder.musl_libdir(target).unwrap();
-- for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
-- copy_and_stamp(
-- builder,
-- &libdir_self_contained,
-- &srcdir,
-- obj,
-- &mut target_deps,
-- DependencyType::TargetSelfContained,
-- );
-- }
-- } else if target.ends_with("-wasi") {
-+ if target.ends_with("-wasi") {
- let srcdir = builder.wasi_root(target).unwrap().join("lib/wasm32-wasi");
- copy_and_stamp(
- builder,
-@@ -258,15 +241,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
- .arg("--manifest-path")
- .arg(builder.src.join("library/test/Cargo.toml"));
-
-- // Help the libc crate compile by assisting it in finding various
-- // sysroot native libraries.
-- if target.contains("musl") {
-- if let Some(p) = builder.musl_libdir(target) {
-- let root = format!("native={}", p.to_str().unwrap());
-- cargo.rustflag("-L").rustflag(&root);
-- }
-- }
--
- if target.ends_with("-wasi") {
- if let Some(p) = builder.wasi_root(target) {
- let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
-diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index 8b8b01b1153..d4469ed1f96 100644
---- a/src/bootstrap/config.rs
-+++ b/src/bootstrap/config.rs
-@@ -137,8 +137,6 @@ pub struct Config {
- pub print_step_timings: bool,
- pub missing_tools: bool,
-
-- // Fallback musl-root for all targets
-- pub musl_root: Option<PathBuf>,
- pub prefix: Option<PathBuf>,
- pub sysconfdir: Option<PathBuf>,
- pub datadir: Option<PathBuf>,
-@@ -235,8 +233,6 @@ pub struct Target {
- pub linker: Option<PathBuf>,
- pub ndk: Option<PathBuf>,
- pub crt_static: Option<bool>,
-- pub musl_root: Option<PathBuf>,
-- pub musl_libdir: Option<PathBuf>,
- pub wasi_root: Option<PathBuf>,
- pub qemu_rootfs: Option<PathBuf>,
- pub no_std: bool,
-@@ -390,7 +386,6 @@ struct Rust {
- parallel_compiler: Option<bool>,
- default_linker: Option<String>,
- channel: Option<String>,
-- musl_root: Option<String>,
- rpath: Option<bool>,
- verbose_tests: Option<bool>,
- optimize_tests: Option<bool>,
-@@ -427,8 +422,6 @@ struct TomlTarget {
- llvm_filecheck: Option<String>,
- android_ndk: Option<String>,
- crt_static: Option<bool>,
-- musl_root: Option<String>,
-- musl_libdir: Option<String>,
- wasi_root: Option<String>,
- qemu_rootfs: Option<String>,
- no_std: Option<bool>,
-@@ -659,7 +652,6 @@ impl Config {
- set(&mut config.llvm_tools_enabled, rust.llvm_tools);
- config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
- config.rustc_default_linker = rust.default_linker.clone();
-- config.musl_root = rust.musl_root.clone().map(PathBuf::from);
- config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from);
- set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
- set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
-@@ -699,8 +691,6 @@ impl Config {
- target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
- target.linker = cfg.linker.clone().map(PathBuf::from);
- target.crt_static = cfg.crt_static;
-- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
-- target.musl_libdir = cfg.musl_libdir.clone().map(PathBuf::from);
- target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from);
- target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
-
-diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
-index 47673ce1e87..33004e317ce 100755
---- a/src/bootstrap/configure.py
-+++ b/src/bootstrap/configure.py
-@@ -109,34 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
- "aarch64-linux-android NDK standalone path")
- v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk",
- "x86_64-linux-android NDK standalone path")
--v("musl-root", "target.x86_64-unknown-linux-musl.musl-root",
-- "MUSL root installation directory (deprecated)")
--v("musl-root-x86_64", "target.x86_64-unknown-linux-musl.musl-root",
-- "x86_64-unknown-linux-musl install directory")
--v("musl-root-i586", "target.i586-unknown-linux-musl.musl-root",
-- "i586-unknown-linux-musl install directory")
--v("musl-root-i686", "target.i686-unknown-linux-musl.musl-root",
-- "i686-unknown-linux-musl install directory")
--v("musl-root-arm", "target.arm-unknown-linux-musleabi.musl-root",
-- "arm-unknown-linux-musleabi install directory")
--v("musl-root-armhf", "target.arm-unknown-linux-musleabihf.musl-root",
-- "arm-unknown-linux-musleabihf install directory")
--v("musl-root-armv5te", "target.armv5te-unknown-linux-musleabi.musl-root",
-- "armv5te-unknown-linux-musleabi install directory")
--v("musl-root-armv7", "target.armv7-unknown-linux-musleabi.musl-root",
-- "armv7-unknown-linux-musleabi install directory")
--v("musl-root-armv7hf", "target.armv7-unknown-linux-musleabihf.musl-root",
-- "armv7-unknown-linux-musleabihf install directory")
--v("musl-root-aarch64", "target.aarch64-unknown-linux-musl.musl-root",
-- "aarch64-unknown-linux-musl install directory")
--v("musl-root-mips", "target.mips-unknown-linux-musl.musl-root",
-- "mips-unknown-linux-musl install directory")
--v("musl-root-mipsel", "target.mipsel-unknown-linux-musl.musl-root",
-- "mipsel-unknown-linux-musl install directory")
--v("musl-root-mips64", "target.mips64-unknown-linux-muslabi64.musl-root",
-- "mips64-unknown-linux-muslabi64 install directory")
--v("musl-root-mips64el", "target.mips64el-unknown-linux-muslabi64.musl-root",
-- "mips64el-unknown-linux-muslabi64 install directory")
- v("qemu-armhf-rootfs", "target.arm-unknown-linux-gnueabihf.qemu-rootfs",
- "rootfs in qemu testing, you probably don't want to use this")
- v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
-diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 77316c734b8..b92da611a51 100644
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -875,25 +875,6 @@ impl Build {
- }
- }
-
-- /// Returns the "musl root" for this `target`, if defined
-- fn musl_root(&self, target: TargetSelection) -> Option<&Path> {
-- self.config
-- .target_config
-- .get(&target)
-- .and_then(|t| t.musl_root.as_ref())
-- .or_else(|| self.config.musl_root.as_ref())
-- .map(|p| &**p)
-- }
--
-- /// Returns the "musl libdir" for this `target`.
-- fn musl_libdir(&self, target: TargetSelection) -> Option<PathBuf> {
-- let t = self.config.target_config.get(&target)?;
-- if let libdir @ Some(_) = &t.musl_libdir {
-- return libdir.clone();
-- }
-- self.musl_root(target).map(|root| root.join("lib"))
-- }
--
- /// Returns the sysroot for the wasi target, if defined
- fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
- self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p)
-diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index f89bef50de9..e22638c533e 100644
---- a/src/bootstrap/sanity.rs
-+++ b/src/bootstrap/sanity.rs
-@@ -195,28 +195,6 @@ pub fn check(build: &mut Build) {
- }
- }
-
-- // Make sure musl-root is valid
-- if target.contains("musl") {
-- // If this is a native target (host is also musl) and no musl-root is given,
-- // fall back to the system toolchain in /usr before giving up
-- if build.musl_root(*target).is_none() && build.config.build == *target {
-- let target = build.config.target_config.entry(target.clone()).or_default();
-- target.musl_root = Some("/usr".into());
-- }
-- match build.musl_libdir(*target) {
-- Some(libdir) => {
-- if fs::metadata(libdir.join("libc.a")).is_err() {
-- panic!("couldn't find libc.a in musl libdir: {}", libdir.display());
-- }
-- }
-- None => panic!(
-- "when targeting MUSL either the rust.musl-root \
-- option or the target.$TARGET.musl-root option must \
-- be specified in config.toml"
-- ),
-- }
-- }
--
- if target.contains("msvc") {
- // There are three builds of cmake on windows: MSVC, MinGW, and
- // Cygwin. The Cygwin build does not have generators for Visual
-diff --git a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-index 162d7a1345c..48f025fd542 100644
---- a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-@@ -30,8 +30,6 @@ COPY scripts/sccache.sh /scripts/
- RUN sh /scripts/sccache.sh
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-i586=/musl-i586 \
-- --musl-root-i686=/musl-i686 \
- --disable-docs
-
- # Newer binutils broke things on some vms/distros (i.e., linking against
-diff --git a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-index fdd777e824b..2b3d090c1ae 100644
---- a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-@@ -180,15 +180,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
- CC_riscv64gc_unknown_none_elf=false
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-armv5te=/musl-armv5te \
-- --musl-root-arm=/musl-arm \
-- --musl-root-armhf=/musl-armhf \
-- --musl-root-armv7hf=/musl-armv7hf \
-- --musl-root-aarch64=/musl-aarch64 \
-- --musl-root-mips=/musl-mips \
-- --musl-root-mipsel=/musl-mipsel \
-- --musl-root-mips64=/musl-mips64 \
-- --musl-root-mips64el=/musl-mips64el \
- --disable-docs
-
- ENV SCRIPT \
-diff --git a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-index 3081f29aef2..223547bf8cd 100644
---- a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-@@ -107,7 +107,6 @@ ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabi
- RUN ln -s /usr/include/asm-generic /usr/local/include/asm
-
- ENV RUST_CONFIGURE_ARGS --enable-extended --enable-lld --disable-docs \
-- --set target.wasm32-wasi.wasi-root=/wasm32-wasi \
-- --musl-root-armv7=/musl-armv7
-+ --set target.wasm32-wasi.wasi-root=/wasm32-wasi
-
- ENV SCRIPT python3 ../x.py dist --target $TARGETS
-diff --git a/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-index ab6515cd1fa..5203d604150 100644
---- a/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-@@ -31,7 +31,6 @@ RUN sh /scripts/sccache.sh
- ENV HOSTS=x86_64-unknown-linux-musl
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
- --enable-extended \
- --enable-lld \
- --set target.x86_64-unknown-linux-musl.crt-static=false \
-diff --git a/src/ci/docker/host-x86_64/test-various/Dockerfile b/src/ci/docker/host-x86_64/test-various/Dockerfile
-index c55a284e137..a808a915fcb 100644
---- a/src/ci/docker/host-x86_64/test-various/Dockerfile
-+++ b/src/ci/docker/host-x86_64/test-various/Dockerfile
-@@ -29,7 +29,6 @@ COPY scripts/sccache.sh /scripts/
- RUN sh /scripts/sccache.sh
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
- --set build.nodejs=/node-v14.4.0-linux-x64/bin/node \
- --set rust.lld
-
-diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs
-index 70bc9d5e980..b35fe073d26 100644
---- a/src/librustc_codegen_ssa/back/link.rs
-+++ b/src/librustc_codegen_ssa/back/link.rs
-@@ -1288,16 +1288,12 @@ fn link_output_kind(sess: &Session, crate_type: CrateType) -> LinkOutputKind {
-
- /// Whether we link to our own CRT objects instead of relying on gcc to pull them.
- /// We only provide such support for a very limited number of targets.
--fn crt_objects_fallback(sess: &Session, crate_type: CrateType) -> bool {
-+fn crt_objects_fallback(sess: &Session, _crate_type: CrateType) -> bool {
- if let Some(self_contained) = sess.opts.debugging_opts.link_self_contained {
- return self_contained;
- }
-
- match sess.target.target.options.crt_objects_fallback {
-- // FIXME: Find a better heuristic for "native musl toolchain is available",
-- // based on host and linker path, for example.
-- // (https://github.com/rust-lang/rust/pull/71769#issuecomment-626330237).
-- Some(CrtObjectsFallback::Musl) => sess.crt_static(Some(crate_type)),
- // FIXME: Find some heuristic for "native mingw toolchain is available",
- // likely based on `get_crt_libs_path` (https://github.com/rust-lang/rust/pull/67429).
- Some(CrtObjectsFallback::Mingw) => {
-diff --git a/src/librustc_target/spec/crt_objects.rs b/src/librustc_target/spec/crt_objects.rs
-index 8991691a9a3..b7e47afd942 100644
---- a/src/librustc_target/spec/crt_objects.rs
-+++ b/src/librustc_target/spec/crt_objects.rs
-@@ -61,21 +61,6 @@ pub(super) fn all(obj: &str) -> CrtObjects {
- ])
- }
-
--pub(super) fn pre_musl_fallback() -> CrtObjects {
-- new(&[
-- (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o"]),
-- (LinkOutputKind::DynamicPicExe, &["Scrt1.o", "crti.o"]),
-- (LinkOutputKind::StaticNoPicExe, &["crt1.o", "crti.o"]),
-- (LinkOutputKind::StaticPicExe, &["rcrt1.o", "crti.o"]),
-- (LinkOutputKind::DynamicDylib, &["crti.o"]),
-- (LinkOutputKind::StaticDylib, &["crti.o"]),
-- ])
--}
--
--pub(super) fn post_musl_fallback() -> CrtObjects {
-- all("crtn.o")
--}
--
- pub(super) fn pre_mingw_fallback() -> CrtObjects {
- new(&[
- (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
-@@ -115,7 +100,6 @@ pub(super) fn post_wasi_fallback() -> CrtObjects {
- /// Which logic to use to determine whether to fall back to the "self-contained" mode or not.
- #[derive(Clone, Copy, PartialEq, Hash, Debug)]
- pub enum CrtObjectsFallback {
-- Musl,
- Mingw,
- Wasm,
- }
-@@ -125,7 +109,6 @@ impl FromStr for CrtObjectsFallback {
-
- fn from_str(s: &str) -> Result<CrtObjectsFallback, ()> {
- Ok(match s {
-- "musl" => CrtObjectsFallback::Musl,
- "mingw" => CrtObjectsFallback::Mingw,
- "wasm" => CrtObjectsFallback::Wasm,
- _ => return Err(()),
-@@ -136,7 +119,6 @@ impl FromStr for CrtObjectsFallback {
- impl ToJson for CrtObjectsFallback {
- fn to_json(&self) -> Json {
- match *self {
-- CrtObjectsFallback::Musl => "musl",
- CrtObjectsFallback::Mingw => "mingw",
- CrtObjectsFallback::Wasm => "wasm",
- }
-diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
-index b90e91d2901..c5f5f99a96d 100644
---- a/src/librustc_target/spec/linux_musl_base.rs
-+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -1,13 +1,8 @@
--use crate::spec::crt_objects::{self, CrtObjectsFallback};
- use crate::spec::TargetOptions;
-
- pub fn opts() -> TargetOptions {
- let mut base = super::linux_base::opts();
-
-- base.pre_link_objects_fallback = crt_objects::pre_musl_fallback();
-- base.post_link_objects_fallback = crt_objects::post_musl_fallback();
-- base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
--
- // These targets statically link libc by default
- base.crt_static_default = true;
- // These targets allow the user to choose between static and dynamic linking.
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
deleted file mode 100644
index 3472588..0000000
--- a/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 5944a594d6cd422e3ed3a83857b8f84f6920456a Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sat, 9 Sep 2017 00:14:16 -0500
-Subject: [PATCH 07/15] Prefer libgcc_eh over libunwind for musl
-
----
- library/unwind/build.rs | 1 -
- library/unwind/src/lib.rs | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/library/unwind/build.rs b/library/unwind/build.rs
-index ab09a6e324d..2f71e45f95a 100644
---- a/library/unwind/build.rs
-+++ b/library/unwind/build.rs
-@@ -14,7 +14,6 @@ fn main() {
- } else if target.contains("linux") {
- if target.contains("musl") {
- // linking for musl is handled in lib.rs
-- llvm_libunwind::compile();
- } else if !target.contains("android") {
- println!("cargo:rustc-link-lib=gcc_s");
- }
-diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
-index 20a2ca98405..401d2ad9a1c 100644
---- a/library/unwind/src/lib.rs
-+++ b/library/unwind/src/lib.rs
-@@ -38,7 +38,7 @@ cfg_if::cfg_if! {
- }
-
- #[cfg(target_env = "musl")]
--#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
-+#[link(name = "gcc_eh", kind = "static-nobundle", cfg(target_feature = "crt-static"))]
- #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
- extern "C" {}
-
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/dev-lang/rust/files/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
new file mode 100644
index 0000000..06eebb9
--- /dev/null
+++ b/dev-lang/rust/files/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
@@ -0,0 +1,37 @@
+From a7c6bcd4834952f3f5b0483dd71b47407d9fb186 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 16 Sep 2018 16:40:04 +0000
+Subject: [PATCH 07/14] runtest: Fix proc-macro tests on musl hosts
+
+---
+ src/tools/compiletest/src/runtest.rs | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
+index 7781ce74f4..5d73545b1f 100644
+--- a/src/tools/compiletest/src/runtest.rs
++++ b/src/tools/compiletest/src/runtest.rs
+@@ -1604,7 +1604,6 @@ impl<'test> TestCx<'test> {
+ None
+ } else if self.config.target.contains("cloudabi")
+ || self.config.target.contains("emscripten")
+- || (self.config.target.contains("musl") && !aux_props.force_host)
+ || self.config.target.contains("wasm32")
+ {
+ // We primarily compile all auxiliary libraries as dynamic libraries
+@@ -1612,10 +1611,8 @@ impl<'test> TestCx<'test> {
+ // for the test suite (otherwise including libstd statically in all
+ // executables takes up quite a bit of space).
+ //
+- // For targets like MUSL or Emscripten, however, there is no support for
+- // dynamic libraries so we just go back to building a normal library. Note,
+- // however, that for MUSL if the library is built with `force_host` then
+- // it's ok to be a dylib as the host should always support dylibs.
++ // For targets like Emscripten, however, there is no support for
++ // dynamic libraries so we just go back to building a normal library.
+ Some("lib")
+ } else {
+ Some("dylib")
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0008-Correct-minimum-system-LLVM-version-in-tests.patch b/dev-lang/rust/files/0008-Correct-minimum-system-LLVM-version-in-tests.patch
new file mode 100644
index 0000000..1da2bec
--- /dev/null
+++ b/dev-lang/rust/files/0008-Correct-minimum-system-LLVM-version-in-tests.patch
@@ -0,0 +1,206 @@
+From b038aa4b514a520c3ad2a6ab0e518cb8d45c4ca0 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Fri, 22 Mar 2019 17:08:06 -0500
+Subject: [PATCH 08/14] Correct minimum system LLVM version in tests
+
+Since commit 9452a8dfa3ba, the new debug info format is only generated
+for LLVM 8 and newer versions. However, the tests still assume that LLVM
+7 will use the new debug info format. Fix the tests (and a comment in
+the code) to match the actual version check.
+---
+ src/librustc_codegen_llvm/debuginfo/metadata.rs | 8 +++++---
+ src/test/codegen/enum-debug-clike.rs | 2 +-
+ src/test/codegen/enum-debug-niche-2.rs | 2 +-
+ src/test/codegen/enum-debug-niche.rs | 2 +-
+ src/test/codegen/enum-debug-tagged.rs | 2 +-
+ src/test/debuginfo/borrowed-enum.rs | 2 +-
+ .../debuginfo/generic-enum-with-different-disr-sizes.rs | 2 +-
+ src/test/debuginfo/generic-struct-style-enum.rs | 2 +-
+ src/test/debuginfo/generic-tuple-style-enum.rs | 2 +-
+ src/test/debuginfo/recursive-struct.rs | 2 +-
+ src/test/debuginfo/struct-style-enum.rs | 2 +-
+ src/test/debuginfo/tuple-style-enum.rs | 2 +-
+ src/test/debuginfo/unique-enum.rs | 2 +-
+ 13 files changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/src/librustc_codegen_llvm/debuginfo/metadata.rs b/src/librustc_codegen_llvm/debuginfo/metadata.rs
+index ddcbf29da8..8efa025e3d 100644
+--- a/src/librustc_codegen_llvm/debuginfo/metadata.rs
++++ b/src/librustc_codegen_llvm/debuginfo/metadata.rs
+@@ -1156,12 +1156,14 @@ fn prepare_union_metadata(
+ // Enums
+ //=-----------------------------------------------------------------------------
+
+-// DWARF variant support is only available starting in LLVM 7.
++// DWARF variant support is only available starting in LLVM 8.
+ // Although the earlier enum debug info output did not work properly
+ // in all situations, it is better for the time being to continue to
+ // sometimes emit the old style rather than emit something completely
+-// useless when rust is compiled against LLVM 6 or older. This
+-// function decides which representation will be emitted.
++// useless when rust is compiled against LLVM 6 or older. LLVM 7
++// contains an early version of the DWARF variant support, and will
++// crash when handling the new debug info format. This function
++// decides which representation will be emitted.
+ fn use_enum_fallback(cx: &CodegenCx<'_, '_>) -> bool {
+ // On MSVC we have to use the fallback mode, because LLVM doesn't
+ // lower variant parts to PDB.
+diff --git a/src/test/codegen/enum-debug-clike.rs b/src/test/codegen/enum-debug-clike.rs
+index 62cfef5a84..f268c8bcbc 100644
+--- a/src/test/codegen/enum-debug-clike.rs
++++ b/src/test/codegen/enum-debug-clike.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/codegen/enum-debug-niche-2.rs b/src/test/codegen/enum-debug-niche-2.rs
+index 369fa1fcfd..aa6cbf66b4 100644
+--- a/src/test/codegen/enum-debug-niche-2.rs
++++ b/src/test/codegen/enum-debug-niche-2.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/codegen/enum-debug-niche.rs b/src/test/codegen/enum-debug-niche.rs
+index 1273a785ba..93eebde7b8 100644
+--- a/src/test/codegen/enum-debug-niche.rs
++++ b/src/test/codegen/enum-debug-niche.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/codegen/enum-debug-tagged.rs b/src/test/codegen/enum-debug-tagged.rs
+index 5c37e40c27..84976ce97a 100644
+--- a/src/test/codegen/enum-debug-tagged.rs
++++ b/src/test/codegen/enum-debug-tagged.rs
+@@ -4,7 +4,7 @@
+
+ // ignore-tidy-linelength
+ // ignore-windows
+-// min-system-llvm-version 7.0
++// min-system-llvm-version 8.0
+
+ // compile-flags: -g -C no-prepopulate-passes
+
+diff --git a/src/test/debuginfo/borrowed-enum.rs b/src/test/debuginfo/borrowed-enum.rs
+index e27a31dd0e..63c11f59c1 100644
+--- a/src/test/debuginfo/borrowed-enum.rs
++++ b/src/test/debuginfo/borrowed-enum.rs
+@@ -1,7 +1,7 @@
+ // ignore-tidy-linelength
+
+ // Require LLVM with DW_TAG_variant_part and a gdb or lldb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs b/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
+index 9392aa7097..e26294cb73 100644
+--- a/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
++++ b/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
+@@ -3,7 +3,7 @@
+ // min-lldb-version: 310
+
+ // Require LLVM with DW_TAG_variant_part and a gdb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+
+ // compile-flags:-g
+diff --git a/src/test/debuginfo/generic-struct-style-enum.rs b/src/test/debuginfo/generic-struct-style-enum.rs
+index 3e59347030..3dc5cb807b 100644
+--- a/src/test/debuginfo/generic-struct-style-enum.rs
++++ b/src/test/debuginfo/generic-struct-style-enum.rs
+@@ -2,7 +2,7 @@
+ // min-lldb-version: 310
+
+ // Require LLVM with DW_TAG_variant_part and a gdb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+
+ // compile-flags:-g
+diff --git a/src/test/debuginfo/generic-tuple-style-enum.rs b/src/test/debuginfo/generic-tuple-style-enum.rs
+index 3c136add07..b16634ee6d 100644
+--- a/src/test/debuginfo/generic-tuple-style-enum.rs
++++ b/src/test/debuginfo/generic-tuple-style-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/recursive-struct.rs b/src/test/debuginfo/recursive-struct.rs
+index c3d2bea913..8fb83b7956 100644
+--- a/src/test/debuginfo/recursive-struct.rs
++++ b/src/test/debuginfo/recursive-struct.rs
+@@ -2,7 +2,7 @@
+ // ignore-lldb
+
+ // Require LLVM with DW_TAG_variant_part and a gdb that can read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+
+ // compile-flags:-g
+diff --git a/src/test/debuginfo/struct-style-enum.rs b/src/test/debuginfo/struct-style-enum.rs
+index 1654c93209..5843b076b1 100644
+--- a/src/test/debuginfo/struct-style-enum.rs
++++ b/src/test/debuginfo/struct-style-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/tuple-style-enum.rs b/src/test/debuginfo/tuple-style-enum.rs
+index fd76bcb0af..4d9727a388 100644
+--- a/src/test/debuginfo/tuple-style-enum.rs
++++ b/src/test/debuginfo/tuple-style-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+diff --git a/src/test/debuginfo/unique-enum.rs b/src/test/debuginfo/unique-enum.rs
+index da0d06213e..32bd93f1ed 100644
+--- a/src/test/debuginfo/unique-enum.rs
++++ b/src/test/debuginfo/unique-enum.rs
+@@ -2,7 +2,7 @@
+
+ // Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
+ // read it.
+-// min-system-llvm-version: 7.0
++// min-system-llvm-version: 8.0
+ // min-gdb-version: 8.2
+ // rust-lldb
+
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch b/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
deleted file mode 100644
index 969d4c5..0000000
--- a/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d3114d5d4fa3595b9f7158f24807620571951be8 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 3 Nov 2019 17:01:32 -0600
-Subject: [PATCH 08/15] Link libssp_nonshared.a on all musl targets
-
----
- src/librustc_target/spec/linux_musl_base.rs | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
-index c5f5f99a96d..a3f763147fa 100644
---- a/src/librustc_target/spec/linux_musl_base.rs
-+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -1,8 +1,11 @@
--use crate::spec::TargetOptions;
-+use crate::spec::{LinkerFlavor, TargetOptions};
-
- pub fn opts() -> TargetOptions {
- let mut base = super::linux_base::opts();
-
-+ // libssp_nonshared.a is needed for __stack_chk_fail_local when using libc.so
-+ base.post_link_args.insert(LinkerFlavor::Gcc, vec!["-lssp_nonshared".to_string()]);
-+
- // These targets statically link libc by default
- base.crt_static_default = true;
- // These targets allow the user to choose between static and dynamic linking.
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch b/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch
deleted file mode 100644
index 8639b2b..0000000
--- a/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7fd97298080acbe6f69e49a3d5df9eca423b5fe1 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 7 Oct 2019 18:36:28 -0500
-Subject: [PATCH 09/15] test/failed-doctest-output: Fix normalization
-
-Otherwise we get:
-
-1
-2 running 2 tests
-- test $DIR/failed-doctest-output.rs - OtherStruct (line 20) ... FAILED
-- test $DIR/failed-doctest-output.rs - SomeStruct (line 10) ... FAILED
-+ test src/rustc-1.38.0-src/$DIR/failed-doctest-output.rs - OtherStruct (line 20) ... FAILED
-+ test src/rustc-1.38.0-src/$DIR/failed-doctest-output.rs - SomeStruct (line 10) ... FAILED
-5
-6 failures:
-7
----
- src/test/rustdoc-ui/failed-doctest-output.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/test/rustdoc-ui/failed-doctest-output.rs b/src/test/rustdoc-ui/failed-doctest-output.rs
-index fcbd7cabc69..7d19ace7487 100644
---- a/src/test/rustdoc-ui/failed-doctest-output.rs
-+++ b/src/test/rustdoc-ui/failed-doctest-output.rs
-@@ -4,7 +4,7 @@
-
- // compile-flags:--test
- // rustc-env:RUST_BACKTRACE=0
--// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
-+// normalize-stdout-test: "[[:graph:]]*src/test/rustdoc-ui" -> "$$DIR"
- // failure-status: 101
-
- // doctest fails at runtime
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/dev-lang/rust/files/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch
similarity index 79%
rename from dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
rename to dev-lang/rust/files/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch
index 6f5fa8b..121e3c8 100644
--- a/dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+++ b/dev-lang/rust/files/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch
@@ -1,18 +1,18 @@
-From 815936fbf7f721ddfc35e6048457dbc84132f87a Mon Sep 17 00:00:00 2001
+From ecfd3927df50b811ef1dff61abbdeed15daf7cd2 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 6 Oct 2018 04:01:48 +0000
-Subject: [PATCH 11/15] test/use-extern-for-plugins: Don't assume multilib
+Subject: [PATCH 09/14] test/use-extern-for-plugins: Don't assume multilib
---
src/test/run-make-fulldeps/use-extern-for-plugins/Makefile | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-index 838b1a2719b..94fa9f6d067 100644
+index 3976da3113..567a8d3157 100644
--- a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
+++ b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-@@ -4,12 +4,7 @@
- # ignore-openbsd
+@@ -5,12 +5,7 @@
+ # ignore-bitrig
# ignore-sunos
-HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
@@ -26,5 +26,5 @@ index 838b1a2719b..94fa9f6d067 100644
all:
$(RUSTC) foo.rs -C extra-filename=-host
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
index 82772a1..029544a 100644
--- a/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+++ b/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
@@ -1,7 +1,7 @@
-From 415814d100e85eb031254af528246e44d3f04128 Mon Sep 17 00:00:00 2001
+From 91e0c28a5642ef1eead598910e4a6bff071c9a4d Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 01:32:20 +0000
-Subject: [PATCH 10/15] test/sysroot-crates-are-unstable: Fix test when rpath
+Subject: [PATCH 10/14] test/sysroot-crates-are-unstable: Fix test when rpath
is disabled
Without this environment var, the test can't run rustc to find
@@ -11,15 +11,15 @@ the sysroot path.
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 1e267fb9576..30c33c5c13d 100644
+index a35174b3c2..9e77070685 100644
--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
@@ -1,2 +1,4 @@
+-include ../tools.mk
+
all:
-- '$(PYTHON)' test.py
-+ env '$(HOST_RPATH_ENV)' '$(PYTHON)' test.py
+- python2.7 test.py
++ env '$(HOST_RPATH_ENV)' python2.7 test.py
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/0011-Ignore-broken-and-non-applicable-tests.patch
similarity index 55%
rename from dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch
rename to dev-lang/rust/files/0011-Ignore-broken-and-non-applicable-tests.patch
index 8569293..59d6b71 100644
--- a/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch
+++ b/dev-lang/rust/files/0011-Ignore-broken-and-non-applicable-tests.patch
@@ -1,11 +1,13 @@
-From 8db9fc72afc7864cb7e5a8ff99f9e4dd04ea82ca Mon Sep 17 00:00:00 2001
+From 0495caf6d9c4745ba3cedbdbb4dd690571e1cec0 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:38:48 +0000
-Subject: [PATCH 12/15] Ignore broken and non-applicable tests
+Subject: [PATCH 11/14] Ignore broken and non-applicable tests
c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
long-linker-command-lines: takes >10 minutes to run (but still passes)
+simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
+simd-intrinsic-generic-select.rs: broken on BE, #59356
sparc-struct-abi: no sparc target
sysroot-crates-are-unstable: can't run rustc without RPATH
---
@@ -13,11 +15,13 @@ sysroot-crates-are-unstable: can't run rustc without RPATH
src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
- src/test/ui/env-funky-keys.rs | 1 +
- 5 files changed, 8 insertions(+)
+ src/test/run-pass/env-funky-keys.rs | 1 +
+ src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs | 2 ++
+ src/test/run-pass/simd/simd-intrinsic-generic-select.rs | 2 ++
+ 7 files changed, 12 insertions(+)
diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
-index 78e5b14a212..6f93e93286b 100644
+index 78e5b14a21..6f93e93286 100644
--- a/src/test/codegen/sparc-struct-abi.rs
+++ b/src/test/codegen/sparc-struct-abi.rs
@@ -4,6 +4,7 @@
@@ -29,7 +33,7 @@ index 78e5b14a212..6f93e93286b 100644
#![no_core]
diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-index f124ca2ab61..363b18f0985 100644
+index f124ca2ab6..363b18f098 100644
--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
@@ -1,3 +1,5 @@
@@ -39,7 +43,7 @@ index f124ca2ab61..363b18f0985 100644
all:
diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-index 5876fbc94bc..5f167ece1a2 100644
+index 5876fbc94b..5f167ece1a 100644
--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
@@ -1,3 +1,5 @@
@@ -49,7 +53,7 @@ index 5876fbc94bc..5f167ece1a2 100644
all:
diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 30c33c5c13d..d733bb1c557 100644
+index 9e77070685..6d92ec5cec 100644
--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
@@ -1,3 +1,5 @@
@@ -58,18 +62,43 @@ index 30c33c5c13d..d733bb1c557 100644
-include ../tools.mk
all:
-diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
-index c5c824ac58d..f3fe047a79c 100644
---- a/src/test/ui/env-funky-keys.rs
-+++ b/src/test/ui/env-funky-keys.rs
-@@ -1,6 +1,7 @@
- // run-pass
+diff --git a/src/test/run-pass/env-funky-keys.rs b/src/test/run-pass/env-funky-keys.rs
+index 79f32bd6c2..fc171687c9 100644
+--- a/src/test/run-pass/env-funky-keys.rs
++++ b/src/test/run-pass/env-funky-keys.rs
+@@ -1,5 +1,6 @@
// Ignore this test on Android, because it segfaults there.
+// ignore-test
// ignore-android
// ignore-windows
// ignore-cloudabi no execve
+diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+index b28f742a92..3ee4ccce73 100644
+--- a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
++++ b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+@@ -2,6 +2,8 @@
+ #![allow(non_camel_case_types)]
+
+ // ignore-emscripten
++// ignore-powerpc
++// ignore-powerpc64
+
+ // Test that the simd_bitmask intrinsic produces correct results.
+
+diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
+index f79b140494..39080c8c90 100644
+--- a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
++++ b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
+@@ -2,6 +2,8 @@
+ #![allow(non_camel_case_types)]
+
+ // ignore-emscripten
++// ignore-powerpc
++// ignore-powerpc64
+
+ // Test that the simd_select intrinsics produces correct results.
+
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0012-Link-stage-2-tools-dynamically-to-libstd.patch b/dev-lang/rust/files/0012-Link-stage-2-tools-dynamically-to-libstd.patch
new file mode 100644
index 0000000..e4cac48
--- /dev/null
+++ b/dev-lang/rust/files/0012-Link-stage-2-tools-dynamically-to-libstd.patch
@@ -0,0 +1,27 @@
+From d7e94a443cd0876d384ccbc36a6eb21cfc3636d4 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Mon, 24 Sep 2018 23:42:23 +0000
+Subject: [PATCH 12/14] Link stage 2 tools dynamically to libstd
+
+---
+ src/bootstrap/tool.rs | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
+index fc1a17d546..880c2d52ba 100644
+--- a/src/bootstrap/tool.rs
++++ b/src/bootstrap/tool.rs
+@@ -207,7 +207,9 @@ pub fn prepare_tool_cargo(
+
+ // We don't want to build tools dynamically as they'll be running across
+ // stages and such and it's just easier if they're not dynamically linked.
+- cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1");
++ if compiler.stage < 2 {
++ cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1");
++ }
+
+ if source_type == SourceType::Submodule {
+ cargo.env("RUSTC_EXTERNAL_TOOL", "1");
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch b/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch
deleted file mode 100644
index bd16e6c..0000000
--- a/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b9369ec42bc76e451dfb44e157e81166abcb3c10 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 24 Sep 2018 23:42:23 +0000
-Subject: [PATCH 13/15] Link stage 2 tools dynamically to libstd
-
----
- src/bootstrap/builder.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 29fec3a5717..15c7729b4c2 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1357,7 +1357,7 @@ impl<'a> Builder<'a> {
- // When we build Rust dylibs they're all intended for intermediate
- // usage, so make sure we pass the -Cprefer-dynamic flag instead of
- // linking all deps statically into the dylib.
-- if let Mode::Std | Mode::Rustc | Mode::Codegen = mode {
-+ if let Mode::Std | Mode::Rustc | Mode::Codegen | Mode::ToolRustc | Mode::ToolStd = mode {
- rustflags.arg("-Cprefer-dynamic");
- }
-
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0013-Move-debugger-scripts-to-usr-share-rust.patch b/dev-lang/rust/files/0013-Move-debugger-scripts-to-usr-share-rust.patch
new file mode 100644
index 0000000..8f5b2fb
--- /dev/null
+++ b/dev-lang/rust/files/0013-Move-debugger-scripts-to-usr-share-rust.patch
@@ -0,0 +1,53 @@
+From b3b713b954619af8768ad21bd73700291e9d7b58 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Mon, 17 Sep 2018 02:09:10 +0000
+Subject: [PATCH 13/14] Move debugger scripts to /usr/share/rust
+
+---
+ src/bootstrap/dist.rs | 2 +-
+ src/etc/rust-gdb | 2 +-
+ src/etc/rust-lldb | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
+index 2dae3f9135..642e4bfba8 100644
+--- a/src/bootstrap/dist.rs
++++ b/src/bootstrap/dist.rs
+@@ -595,7 +595,7 @@ impl Step for DebuggerScripts {
+ fn run(self, builder: &Builder<'_>) {
+ let host = self.host;
+ let sysroot = self.sysroot;
+- let dst = sysroot.join("lib/rustlib/etc");
++ let dst = sysroot.join("share/rust");
+ t!(fs::create_dir_all(&dst));
+ let cp_debugger_script = |file: &str| {
+ builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644);
+diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
+index 23ba93da8e..dc51b16c57 100755
+--- a/src/etc/rust-gdb
++++ b/src/etc/rust-gdb
+@@ -4,7 +4,7 @@ set -e
+
+ # Find out where the pretty printer Python module is
+ RUSTC_SYSROOT=`rustc --print=sysroot`
+-GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
++GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
+
+ # Run GDB with the additional arguments that load the pretty printers
+ # Set the environment variable `RUST_GDB` to overwrite the call to a
+diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
+index 424302d495..460e119210 100755
+--- a/src/etc/rust-lldb
++++ b/src/etc/rust-lldb
+@@ -26,7 +26,7 @@ display the contents of local variables!"
+ fi
+
+ # Prepare commands that will be loaded before any file on the command line has been loaded
+-script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_rust_formatters.py\""
++script_import="command script import \"$RUSTC_SYSROOT/share/rust/lldb_rust_formatters.py\""
+ category_definition="type summary add --no-value --python-function lldb_rust_formatters.print_val -x \".*\" --category Rust"
+ category_enable="type category enable Rust"
+
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/0015-Add-gentoo-target-specs.patch b/dev-lang/rust/files/0014-Add-gentoo-target-specs.patch
similarity index 79%
rename from dev-lang/rust/files/0015-Add-gentoo-target-specs.patch
rename to dev-lang/rust/files/0014-Add-gentoo-target-specs.patch
index 61a19b9..36afe06 100644
--- a/dev-lang/rust/files/0015-Add-gentoo-target-specs.patch
+++ b/dev-lang/rust/files/0014-Add-gentoo-target-specs.patch
@@ -1,18 +1,18 @@
-From 037c877646effd72dbf82f3eb8e5ed41e9f5e89d Mon Sep 17 00:00:00 2001
+From d4b28cd40d12ef2a801658176b31c6663c25d66f Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 02:29:06 +0000
-Subject: [PATCH 15/15] Add gentoo target specs
+Subject: [PATCH 14/14] Add gentoo target specs
---
- src/librustc_target/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/arm_gentoo_linux_musleabi.rs | 11 +++++++++++
- .../spec/armv7a_gentoo_linux_musleabihf.rs | 11 +++++++++++
- src/librustc_target/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/mod.rs | 11 ++++++++++-
- .../spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
- 8 files changed, 87 insertions(+), 1 deletion(-)
+ .../spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../spec/arm_gentoo_linux_musleabi.rs | 11 +++++++++++
+ .../spec/armv7a_gentoo_linux_musleabihf.rs | 11 +++++++++++
+ src/librustc_target/spec/i686_gentoo_linux_musl.rs | 13 +++++++++++++
+ src/librustc_target/spec/mod.rs | 11 ++++++++++-
+ .../spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../spec/powerpc_gentoo_linux_musl.rs | 13 +++++++++++++
+ .../spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
+ 8 files changed, 91 insertions(+), 1 deletion(-)
create mode 100644 src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
create mode 100644 src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
create mode 100644 src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
@@ -23,7 +23,7 @@ Subject: [PATCH 15/15] Add gentoo target specs
diff --git a/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..420fe7cde70
+index 0000000000..420fe7cde7
--- /dev/null
+++ b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
@@ -0,0 +1,11 @@
@@ -40,7 +40,7 @@ index 00000000000..420fe7cde70
+}
diff --git a/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs b/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
new file mode 100644
-index 00000000000..d47ca841647
+index 0000000000..d47ca84164
--- /dev/null
+++ b/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
@@ -0,0 +1,11 @@
@@ -57,7 +57,7 @@ index 00000000000..d47ca841647
+}
diff --git a/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs b/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
new file mode 100644
-index 00000000000..f5c85855c18
+index 0000000000..f5c85855c1
--- /dev/null
+++ b/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
@@ -0,0 +1,11 @@
@@ -74,11 +74,11 @@ index 00000000000..f5c85855c18
+}
diff --git a/src/librustc_target/spec/i686_gentoo_linux_musl.rs b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..1cd39cd76af
+index 0000000000..be4d7b8523
--- /dev/null
+++ b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::i686_unknown_linux_musl::target()?;
@@ -86,15 +86,17 @@ index 00000000000..1cd39cd76af
+ base.llvm_target = "i686-gentoo-linux-musl".to_string();
+ base.target_vendor = "gentoo".to_string();
+ base.options.crt_static_default = false;
++ base.options.post_link_args.insert(LinkerFlavor::Gcc,
++ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]);
+
+ Ok(base)
+}
diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
-index fa29ff3f8d8..a711417e7c1 100644
+index bef2afc7b6..42bd26ce0c 100644
--- a/src/librustc_target/spec/mod.rs
+++ b/src/librustc_target/spec/mod.rs
-@@ -489,7 +489,17 @@ macro_rules! supported_targets {
- };
+@@ -327,7 +327,17 @@ macro_rules! supported_targets {
+ )
}
+mod arm_unknown_linux_musleabi;
@@ -111,7 +113,7 @@ index fa29ff3f8d8..a711417e7c1 100644
("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu),
("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
-@@ -514,7 +524,6 @@ supported_targets! {
+@@ -348,7 +358,6 @@ supported_targets! {
("sparc64-unknown-linux-gnu", sparc64_unknown_linux_gnu),
("arm-unknown-linux-gnueabi", arm_unknown_linux_gnueabi),
("arm-unknown-linux-gnueabihf", arm_unknown_linux_gnueabihf),
@@ -121,7 +123,7 @@ index fa29ff3f8d8..a711417e7c1 100644
("armv5te-unknown-linux-gnueabi", armv5te_unknown_linux_gnueabi),
diff --git a/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..e840bb27bbf
+index 0000000000..e840bb27bb
--- /dev/null
+++ b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
@@ -0,0 +1,11 @@
@@ -138,11 +140,11 @@ index 00000000000..e840bb27bbf
+}
diff --git a/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..a623ffed53a
+index 0000000000..905c5214d4
--- /dev/null
+++ b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::powerpc_unknown_linux_musl::target()?;
@@ -150,12 +152,14 @@ index 00000000000..a623ffed53a
+ base.llvm_target = "powerpc-gentoo-linux-musl".to_string();
+ base.target_vendor = "gentoo".to_string();
+ base.options.crt_static_default = false;
++ base.options.post_link_args.insert(LinkerFlavor::Gcc,
++ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]);
+
+ Ok(base)
+}
diff --git a/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
new file mode 100644
-index 00000000000..f33047358b5
+index 0000000000..f33047358b
--- /dev/null
+++ b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
@@ -0,0 +1,11 @@
@@ -171,5 +175,5 @@ index 00000000000..f33047358b5
+ Ok(base)
+}
--
-2.26.2
+2.21.0
diff --git a/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch b/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch
deleted file mode 100644
index ca1a1b4..0000000
--- a/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 22b25a4088a3d09bb569b23dc282edb77df11ab4 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 17 Sep 2018 02:09:10 +0000
-Subject: [PATCH 14/15] Move debugger scripts to /usr/share/rust
-
----
- src/bootstrap/dist.rs | 2 +-
- src/etc/rust-gdb | 2 +-
- src/etc/rust-gdbgui | 2 +-
- src/etc/rust-lldb | 4 ++--
- 4 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index d021feafbe4..f0f5cb8169a 100644
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -614,7 +614,7 @@ impl Step for DebuggerScripts {
- fn run(self, builder: &Builder<'_>) {
- let host = self.host;
- let sysroot = self.sysroot;
-- let dst = sysroot.join("lib/rustlib/etc");
-+ let dst = sysroot.join("share/rust");
- t!(fs::create_dir_all(&dst));
- let cp_debugger_script = |file: &str| {
- builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644);
-diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
-index b950cea79ed..559bfe3f1f9 100755
---- a/src/etc/rust-gdb
-+++ b/src/etc/rust-gdb
-@@ -12,7 +12,7 @@ fi
-
- # Find out where the pretty printer Python module is
- RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
--GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-+GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
-
- # Run GDB with the additional arguments that load the pretty printers
- # Set the environment variable `RUST_GDB` to overwrite the call to a
-diff --git a/src/etc/rust-gdbgui b/src/etc/rust-gdbgui
-index 9744913b686..8722acdcc52 100755
---- a/src/etc/rust-gdbgui
-+++ b/src/etc/rust-gdbgui
-@@ -41,7 +41,7 @@ fi
-
- # Find out where the pretty printer Python module is
- RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
--GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-+GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
-
- # Set the environment variable `RUST_GDB` to overwrite the call to a
- # different/specific command (defaults to `gdb`).
-diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
-index bce72f1bad6..8abb0124527 100755
---- a/src/etc/rust-lldb
-+++ b/src/etc/rust-lldb
-@@ -30,8 +30,8 @@ EOF
- fi
- fi
-
--script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_lookup.py\""
--commands_file="$RUSTC_SYSROOT/lib/rustlib/etc/lldb_commands"
-+script_import="command script import \"$RUSTC_SYSROOT/share/rust/lldb_lookup.py\""
-+commands_file="$RUSTC_SYSROOT/share/rust/lldb_commands"
-
- # Call LLDB with the commands added to the argument list
- exec "$lldb" --one-line-before-file "$script_import" --source-before-file "$commands_file" "$@"
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0030-libc-linkage.patch b/dev-lang/rust/files/0030-libc-linkage.patch
deleted file mode 100644
index 5a92904..0000000
--- a/dev-lang/rust/files/0030-libc-linkage.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- rustc-1.47.0-src/vendor/libc-0.2.74/src/lib.rs
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/src/lib.rs
-@@ -27,6 +27,7 @@
- #![deny(missing_copy_implementations, safe_packed_borrows)]
- #![no_std]
- #![cfg_attr(feature = "rustc-dep-of-std", no_core)]
-+#![cfg_attr(target_env = "musl", feature(static_nobundle))]
- #![cfg_attr(target_os = "redox", feature(static_nobundle))]
- #![cfg_attr(libc_const_extern_fn, feature(const_extern_fn))]
-
---- rustc-1.47.0-src/vendor/libc-0.2.74/src/unix/mod.rs
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/src/unix/mod.rs
-@@ -299,11 +299,11 @@ cfg_if! {
- // cargo build, don't pull in anything extra as the libstd dep
- // already pulls in all libs.
- } else if #[cfg(target_env = "musl")] {
-+ #[link(name = "c")]
-+ extern {}
- #[cfg_attr(feature = "rustc-dep-of-std",
-- link(name = "c", kind = "static",
-+ link(name = "gcc", kind = "static-nobundle",
- cfg(target_feature = "crt-static")))]
-- #[cfg_attr(feature = "rustc-dep-of-std",
-- link(name = "c", cfg(not(target_feature = "crt-static"))))]
- extern {}
- } else if #[cfg(target_os = "emscripten")] {
- #[link(name = "c")]
---- rustc-1.47.0-src/vendor/libc-0.2.74/.cargo-checksum.json
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"128aa804901aaf7c386262cfbba894041bf1b109232d69c3e8b6b01df0a67dd1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"52f1027a072c02e6e9e1f3d9630ec24e4d57507399c6363afcbcceaa106d152b","build.rs":"ab351d7171b14f8032948e843841ebe8518ed95eb1abf0b1e689700c7cef4bf5","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75
fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"61502b3d124759c7c1bae294c1662036a96718fb3bd329cfa2f12e1c61ac10ad","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"d80f0a2f77d485601a218e0707474245636d8b23fb3d6c65c9dbd4302ea6674b","src/macros.rs":"83aed048c5053300345fca843b148928b91ed444188c479315
ff6bcabaa0c4e9","src/psp.rs":"a93741ac38660e548eb41b58df39da39944e5c04280a7b09e0be758e79942549","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"19c8598b72272cc61d7f6a05b7fec78958ce86b11d0f5a655e1e58da0bc2af44","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"ae5e8e6b0f610ec015dfcc2928609037d7ea7b94570c72bcc5bdd588424c6259","src/unix/bsd/freebsdlike/dragonfly/mod.rs"
:"0e41b6202c7670ce27201095fc1a2826c9e9ccbbc751e97ae1568871ea481a62","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"1ed8971b7de3b0435341a9af1366493d0458e4a00507dd824c4c11f4ce2006af","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/un
ix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"0046a4083f01ad67511427f1ac37168f31bef3be10c849d304d39f98d61c1267","src/unix/bsd/mod.rs":"4acdbc0148b672fe015ddd7cae952e5d77691df6941a20f8ca40fd996e6a37dd","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"16a9036b6a8b373cdf0576ae99c95430f3f111b6be906a1e1ecff8047e178a86","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"e
e7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"a2938e72d1c6e3f32fb51e896b63abd0d79e1e360dc53f9254fdac82b21206b9","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b474450
0d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"29863051c296eeb22e7f00a266d6632b6a886b9a791f128e3c554e96213c3a16","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"fb7e14d0f46ffaa989b5ab68c85184efe6aa04b5381e46866299b1f3258ddce3","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"
2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"d414f682fd0d138d440300dc53c6b8b069730e19230dabd4c01173c4578c42b5","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"55fb89f5a965a4ad81ee4d02498c32aaed69e6047ce708c2329a602171862a76","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"dde64
8468764a5deef5566b8016290150acf50ee6a0f8c0678cb2078658bc2fa","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"6d9ba242111c7be8173b7a7b8cf8c863ba23d839edc9d026c0fd37a4b64460b4","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"e2d2e51fea73210d9705b7eaa37de8baa7152b71ae3a10a316c277345c529b5c","src/unix/linux_like/linux/gnu/b32/mod.rs":"e224551fa50be726bc8a559da32a96294b18743fb5a5b67cdbee4bb6a9eeb796","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"39aae80d2c4ffa845592e16c0a6c910017de19e2b15c1e507c4df10e79ce3e38","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/lin
ux/gnu/b32/sparc/mod.rs":"3b4dd40b288788740d2b030171b21f9d0b076ce26d88e0ff62f5d87f09e7c787","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"927d1bd8cb2f053549fc5acfeb1315b7f80b35d7a1904cd76e99651ff32b141e","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"17e9cd23a14bd19700c05a154568fff5897788c0ae151c21dd3bba67aac829d9","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"0b5d94f3a2361742b6dd9eb3f543ddf675d3f70dab3402ad179faa6ddaae2218","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc7
8a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"2f279eb268c0aca9a6bd9b4c84139799cd039a64ca1cd2ded68b04c63397be1b","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"bb01828300f02c11c27689522454439d0d02f22d738df88a97367dc87eecf868","src/unix/linux_like/linux/gnu/b64/s390x.rs":"9c449b64b11cbf55d453b324cf9475acb3253f85cb9692f9873b777ed8978ff4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"a2667a09e526878683fafa02474f81fbc212d861ceeabade17b0ff4d6d49ff9d","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"c1862036556262f076eda2008470b8a351b9c371d70664f54387c46890e8cd18","src/unix/linux_like/
linux/gnu/b64/x86_64/x32.rs":"30f88d0fa9e7807ee4cbe89fd274061f810099567d5e68fa829277d7d27ba708","src/unix/linux_like/linux/gnu/mod.rs":"c7924db757cf898c78029ad3772e6168ec99dd0dd1534df4132f8fe9717afed7","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3dc8b1980062117edd7bdfdf2279065737f8cdcdcb883f57f23f27a1d0bbb8b2","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","
src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"7b3fb85a869e00aae3f6af9c36f82f9c70bf8c2b9cccbd931b923602846ea42c","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad838158
75edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"243e32b93641df7a77f970a32c0fb8e4fd4a13720e54e0e42a9da321fd169798","src/unix/linux_like/linux/no_align.rs":"c81ccd1942295d423b43a55b4aa19633c2096fb93bb381a6a29acb93e85aab07","src/unix/linux_like/mod.rs":"e2d60b008a30f2d866be2da6372fe8390e246572d8344447615155f642016882","src/unix/mod.rs":"3196eb15b4f9fa88839f401ee5a8a06875f7da7f244e73323f3c4ca7fb5007b1","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"8ab989
db6b21fee81a694c9f9f89014f8e78870d0541368527483c90f07542a7","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"89c31827cf348e9a7af387f9e708fc834d04da36cad415d3957d2faa70f2fcbe","src/unix/solarish/compat.rs":"d62a5d3b5bd6adc998cb9bb817a622ef9ec666235bb237bd0f13f8e6a94de576","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"ac1d11b1d51649ca1f156d2554951acc2204622bad1e0823cde24328c5fe60aa","src/unix/solarish/solaris.rs":"6000d322ee9f691f38a2cd89b2b8838e51f64c01584143924962b0c598e0985c","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec725195
7315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"18d6c2628ca458ba75e7
43bce75bda6614de99606af4e2e62daf2440d2878f18","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"79077f518d234baf6cb76cb742153d174b3ddd43c6eda9238ebb053e08f9f9c7","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb1
81d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"486a00bafb5b6bf0538c4d984dab021835295c431cb2ceb7a9a74b499f78ade6","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"053c4d3d99c6a8b2fba4df0f8c7266cdd9fbbaa6bddc50cd6f747bef1ff59da9","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10"}
-\ No newline at end of file
-+{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"128aa804901aaf7c386262cfbba894041bf1b109232d69c3e8b6b01df0a67dd1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"52f1027a072c02e6e9e1f3d9630ec24e4d57507399c6363afcbcceaa106d152b","build.rs":"ab351d7171b14f8032948e843841ebe8518ed95eb1abf0b1e689700c7cef4bf5","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75
fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"61502b3d124759c7c1bae294c1662036a96718fb3bd329cfa2f12e1c61ac10ad","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"2c276c0b8441855978c1c5f3b19131bf36e51921bc048fcd22a033d33cb6cc54","src/macros.rs":"83aed048c5053300345fca843b148928b91ed444188c479315
ff6bcabaa0c4e9","src/psp.rs":"a93741ac38660e548eb41b58df39da39944e5c04280a7b09e0be758e79942549","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"19c8598b72272cc61d7f6a05b7fec78958ce86b11d0f5a655e1e58da0bc2af44","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"ae5e8e6b0f610ec015dfcc2928609037d7ea7b94570c72bcc5bdd588424c6259","src/unix/bsd/freebsdlike/dragonfly/mod.rs"
:"0e41b6202c7670ce27201095fc1a2826c9e9ccbbc751e97ae1568871ea481a62","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"1ed8971b7de3b0435341a9af1366493d0458e4a00507dd824c4c11f4ce2006af","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/un
ix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"0046a4083f01ad67511427f1ac37168f31bef3be10c849d304d39f98d61c1267","src/unix/bsd/mod.rs":"4acdbc0148b672fe015ddd7cae952e5d77691df6941a20f8ca40fd996e6a37dd","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"16a9036b6a8b373cdf0576ae99c95430f3f111b6be906a1e1ecff8047e178a86","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"e
e7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"a2938e72d1c6e3f32fb51e896b63abd0d79e1e360dc53f9254fdac82b21206b9","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b474450
0d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"29863051c296eeb22e7f00a266d6632b6a886b9a791f128e3c554e96213c3a16","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"fb7e14d0f46ffaa989b5ab68c85184efe6aa04b5381e46866299b1f3258ddce3","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"
2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"d414f682fd0d138d440300dc53c6b8b069730e19230dabd4c01173c4578c42b5","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"55fb89f5a965a4ad81ee4d02498c32aaed69e6047ce708c2329a602171862a76","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"dde64
8468764a5deef5566b8016290150acf50ee6a0f8c0678cb2078658bc2fa","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"6d9ba242111c7be8173b7a7b8cf8c863ba23d839edc9d026c0fd37a4b64460b4","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"e2d2e51fea73210d9705b7eaa37de8baa7152b71ae3a10a316c277345c529b5c","src/unix/linux_like/linux/gnu/b32/mod.rs":"e224551fa50be726bc8a559da32a96294b18743fb5a5b67cdbee4bb6a9eeb796","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"39aae80d2c4ffa845592e16c0a6c910017de19e2b15c1e507c4df10e79ce3e38","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/lin
ux/gnu/b32/sparc/mod.rs":"3b4dd40b288788740d2b030171b21f9d0b076ce26d88e0ff62f5d87f09e7c787","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"927d1bd8cb2f053549fc5acfeb1315b7f80b35d7a1904cd76e99651ff32b141e","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"17e9cd23a14bd19700c05a154568fff5897788c0ae151c21dd3bba67aac829d9","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"0b5d94f3a2361742b6dd9eb3f543ddf675d3f70dab3402ad179faa6ddaae2218","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc7
8a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"2f279eb268c0aca9a6bd9b4c84139799cd039a64ca1cd2ded68b04c63397be1b","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"bb01828300f02c11c27689522454439d0d02f22d738df88a97367dc87eecf868","src/unix/linux_like/linux/gnu/b64/s390x.rs":"9c449b64b11cbf55d453b324cf9475acb3253f85cb9692f9873b777ed8978ff4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"a2667a09e526878683fafa02474f81fbc212d861ceeabade17b0ff4d6d49ff9d","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"c1862036556262f076eda2008470b8a351b9c371d70664f54387c46890e8cd18","src/unix/linux_like/
linux/gnu/b64/x86_64/x32.rs":"30f88d0fa9e7807ee4cbe89fd274061f810099567d5e68fa829277d7d27ba708","src/unix/linux_like/linux/gnu/mod.rs":"c7924db757cf898c78029ad3772e6168ec99dd0dd1534df4132f8fe9717afed7","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3dc8b1980062117edd7bdfdf2279065737f8cdcdcb883f57f23f27a1d0bbb8b2","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","
src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"7b3fb85a869e00aae3f6af9c36f82f9c70bf8c2b9cccbd931b923602846ea42c","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad838158
75edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"243e32b93641df7a77f970a32c0fb8e4fd4a13720e54e0e42a9da321fd169798","src/unix/linux_like/linux/no_align.rs":"c81ccd1942295d423b43a55b4aa19633c2096fb93bb381a6a29acb93e85aab07","src/unix/linux_like/mod.rs":"e2d60b008a30f2d866be2da6372fe8390e246572d8344447615155f642016882","src/unix/mod.rs":"c34d511e9bdf7504d4c30d6b60c7364085b3fc6feeacfac2ee92267d3c42fd21","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"8ab989
db6b21fee81a694c9f9f89014f8e78870d0541368527483c90f07542a7","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"89c31827cf348e9a7af387f9e708fc834d04da36cad415d3957d2faa70f2fcbe","src/unix/solarish/compat.rs":"d62a5d3b5bd6adc998cb9bb817a622ef9ec666235bb237bd0f13f8e6a94de576","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"ac1d11b1d51649ca1f156d2554951acc2204622bad1e0823cde24328c5fe60aa","src/unix/solarish/solaris.rs":"6000d322ee9f691f38a2cd89b2b8838e51f64c01584143924962b0c598e0985c","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec725195
7315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"18d6c2628ca458ba75e7
43bce75bda6614de99606af4e2e62daf2440d2878f18","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"79077f518d234baf6cb76cb742153d174b3ddd43c6eda9238ebb053e08f9f9c7","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb1
81d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"486a00bafb5b6bf0538c4d984dab021835295c431cb2ceb7a9a74b499f78ade6","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"053c4d3d99c6a8b2fba4df0f8c7266cdd9fbbaa6bddc50cd6f747bef1ff59da9","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10"}
-\ No newline at end of file
diff --git a/dev-lang/rust/files/0030-liblibc-linkage.patch b/dev-lang/rust/files/0030-liblibc-linkage.patch
new file mode 100644
index 0000000..6863209
--- /dev/null
+++ b/dev-lang/rust/files/0030-liblibc-linkage.patch
@@ -0,0 +1,33 @@
+--- rustc-1.34.2-src/vendor/libc/src/lib.rs
++++ rustc-1.34.2-src/vendor/libc/src/lib.rs
+@@ -153,6 +153,7 @@
+ #![cfg_attr(feature = "rustc-dep-of-std", feature(cfg_target_vendor))]
+ #![cfg_attr(feature = "rustc-dep-of-std", feature(link_cfg, repr_packed))]
+ #![cfg_attr(feature = "rustc-dep-of-std", feature(no_core))]
++#![cfg_attr(feature = "rustc-dep-of-std", feature(static_nobundle))]
+ #![cfg_attr(feature = "rustc-dep-of-std", no_core)]
+ #![cfg_attr(feature = "rustc-dep-of-std", allow(warnings))]
+ #![cfg_attr(not(any(feature = "use_std", feature = "rustc-dep-of-std")), no_std)]
+--- rustc-1.34.2-src/vendor/libc/src/unix/mod.rs
++++ rustc-1.34.2-src/vendor/libc/src/unix/mod.rs
+@@ -287,11 +287,11 @@ cfg_if! {
+ // cargo build, don't pull in anything extra as the libstd dep
+ // already pulls in all libs.
+ } else if #[cfg(target_env = "musl")] {
++ #[link(name = "c")]
++ extern {}
+ #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", kind = "static",
++ link(name = "gcc", kind = "static-nobundle",
+ cfg(target_feature = "crt-static")))]
+- #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", cfg(not(target_feature = "crt-static"))))]
+ extern {}
+ } else if #[cfg(target_os = "emscripten")] {
+ #[link(name = "c")]
+--- rustc-1.34.2-src/vendor/libc/.cargo-checksum.json
++++ rustc-1.34.2-src/vendor/libc/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1
913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"d456d34fc58c8d194f8f24201b4021860f61c5f125904bb8dcc954d1f813f6b7","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40
299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.r
s":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdl
ike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e
67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"c5f3c6d74ac8e8ef83374b6115bab7c6e57297336a7635aa4c47462649b00dfb","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d99
02fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/mus
l/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"2621
1878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0
cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8
667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1
913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"69850cc2630e101768e05f78b35a0ee29875c519eb4817d5bd2c1d542fae8c1d","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40
299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.r
s":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdl
ike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e
67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"3c5aad2e7ac5e8781158cd140ed07afb1e0ad5eb7fc4b7b0a7bf7f5d8d2ebe32","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d99
02fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/mus
l/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"2621
1878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0
cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8
667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"}
diff --git a/dev-lang/rust/files/0040-rls-atomics.patch b/dev-lang/rust/files/0040-rls-atomics.patch
index d9aedb9..8e44100 100644
--- a/dev-lang/rust/files/0040-rls-atomics.patch
+++ b/dev-lang/rust/files/0040-rls-atomics.patch
@@ -1,6 +1,6 @@
---- rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
-+++ rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
-@@ -7,7 +7,7 @@ use crate::config::Config;
+--- a/src/tools/rls/rls/src/cmd.rs
++++ b/src/tools/rls/rls/src/cmd.rs
+@@ -17,7 +17,7 @@ use crate::config::Config;
use crate::server::{self, LsService, Notification, Request, RequestId};
use rls_analysis::{AnalysisHost, Target};
use rls_vfs::Vfs;
@@ -9,7 +9,7 @@
use lsp_types::{
ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem,
-@@ -313,8 +313,8 @@ fn url(file_name: &str) -> Url {
+@@ -323,8 +323,8 @@ fn url(file_name: &str) -> Url {
}
fn next_id() -> RequestId {
@@ -20,9 +20,9 @@
}
// Custom reader and output for the RLS server.
---- rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
-+++ rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
-@@ -7,7 +7,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
+--- a/src/tools/rls/rls/src/server/io.rs
++++ b/src/tools/rls/rls/src/server/io.rs
+@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
use std::fmt;
use std::io::{self, BufRead, Write};
@@ -31,7 +31,7 @@
use std::sync::Arc;
use jsonrpc_core::{self as jsonrpc, response, version, Id};
-@@ -171,13 +171,13 @@ pub trait Output: Sync + Send + Clone + 'static {
+@@ -182,13 +182,13 @@ pub trait Output: Sync + Send + Clone + 'static {
/// An output that sends notifications and responses on `stdout`.
#[derive(Clone)]
pub(super) struct StdioOutput {
@@ -40,14 +40,14 @@
}
impl StdioOutput {
- /// Constructs a new `stdout` output.
+ /// Construct a new `stdout` output.
pub(crate) fn new() -> StdioOutput {
- StdioOutput { next_id: Arc::new(AtomicU64::new(1)) }
+ StdioOutput { next_id: Arc::new(AtomicU32::new(1).into()) }
}
}
-@@ -194,7 +194,7 @@ impl Output for StdioOutput {
+@@ -205,7 +205,7 @@ impl Output for StdioOutput {
}
fn provide_id(&self) -> RequestId {
diff --git a/dev-lang/rust/files/0050-llvm.patch b/dev-lang/rust/files/0050-llvm.patch
index f1899f7..16f1f28 100644
--- a/dev-lang/rust/files/0050-llvm.patch
+++ b/dev-lang/rust/files/0050-llvm.patch
@@ -1,5 +1,7 @@
---- rustc-1.38.0-src/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
-+++ rustc-1.38.0-src/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
+diff --git a/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
+index 579d23004d1..6cd9d2722fb 100644
+--- a/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
++++ b/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
@@ -27,6 +27,15 @@
#define TLI_DEFINE_STRING_INTERNAL(string_repr) string_repr,
#endif
diff --git a/dev-lang/rust/files/0051-llvm-D45520.patch b/dev-lang/rust/files/0051-llvm-D45520.patch
new file mode 100644
index 0000000..275f03b
--- /dev/null
+++ b/dev-lang/rust/files/0051-llvm-D45520.patch
@@ -0,0 +1,101 @@
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
+@@ -442,13 +442,22 @@
+ // On PPC64, VariantKind is VK_None, but on PPC32, it's VK_PLT, and it must
+ // come at the _end_ of the expression.
+ const MCOperand &Op = MI->getOperand(OpNo);
+- const MCSymbolRefExpr &refExp = cast<MCSymbolRefExpr>(*Op.getExpr());
+- O << refExp.getSymbol().getName();
++ const MCSymbolRefExpr *RefExp = nullptr;
++ const MCConstantExpr *ConstExp = nullptr;
++ if (const MCBinaryExpr *BinExpr = dyn_cast<MCBinaryExpr>(Op.getExpr())) {
++ RefExp = cast<MCSymbolRefExpr>(BinExpr->getLHS());
++ ConstExp = cast<MCConstantExpr>(BinExpr->getRHS());
++ } else
++ RefExp = cast<MCSymbolRefExpr>(Op.getExpr());
++
++ O << RefExp->getSymbol().getName();
+ O << '(';
+ printOperand(MI, OpNo+1, O);
+ O << ')';
+- if (refExp.getKind() != MCSymbolRefExpr::VK_None)
+- O << '@' << MCSymbolRefExpr::getVariantKindName(refExp.getKind());
++ if (RefExp->getKind() != MCSymbolRefExpr::VK_None)
++ O << '@' << MCSymbolRefExpr::getVariantKindName(RefExp->getKind());
++ if (ConstExp != nullptr)
++ O << '+' << ConstExp->getValue();
+ }
+
+ /// showRegistersWithPercentPrefix - Check if this register name should be
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+@@ -487,8 +487,14 @@
+ if (!Subtarget->isPPC64() && !Subtarget->isDarwin() &&
+ isPositionIndependent())
+ Kind = MCSymbolRefExpr::VK_PLT;
+- const MCSymbolRefExpr *TlsRef =
++ const MCExpr *TlsRef =
+ MCSymbolRefExpr::create(TlsGetAddr, Kind, OutContext);
++
++ // Add 32768 offset to the symbol so we follow up the latest GOT/PLT ABI.
++ if (Kind == MCSymbolRefExpr::VK_PLT && Subtarget->isSecurePlt())
++ TlsRef = MCBinaryExpr::createAdd(TlsRef,
++ MCConstantExpr::create(32768, OutContext),
++ OutContext);
+ const MachineOperand &MO = MI->getOperand(2);
+ const GlobalValue *GValue = MO.getGlobal();
+ MCSymbol *MOSymbol = getSymbol(GValue);
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+@@ -4054,7 +4054,20 @@
+ if (trySETCC(N))
+ return;
+ break;
+-
++ // These nodes will be transformed into GETtlsADDR32 node, which
++ // later becomes BL_TLS __tls_get_addr(sym at tlsgd)@PLT
++ case PPCISD::ADDI_TLSLD_L_ADDR:
++ case PPCISD::ADDI_TLSGD_L_ADDR: {
++ const Module *Mod = MF->getFunction().getParent();
++ if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 ||
++ !PPCSubTarget->isSecurePlt() || !PPCSubTarget->isTargetELF() ||
++ Mod->getPICLevel() == PICLevel::SmallPIC)
++ break;
++ // Attach global base pointer on GETtlsADDR32 node in order to
++ // generate secure plt code for TLS symbols.
++ getGlobalBaseReg();
++ }
++ break;
+ case PPCISD::CALL: {
+ const Module *M = MF->getFunction().getParent();
+
+Index: rustc-src/src/llvm-project/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll
+===================================================================
+--- rustc-src/src/llvm-project/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll
++++ rustc-src/src/llvm-project/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll
+@@ -0,0 +1,18 @@
++; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -mattr=+secure-plt -relocation-model=pic | FileCheck -check-prefix=SECURE-PLT-TLS %s
++
++@a = thread_local local_unnamed_addr global i32 6, align 4
++define i32 @main() local_unnamed_addr #0 {
++entry:
++ %0 = load i32, i32* @a, align 4
++ ret i32 %0
++}
++
++
++!llvm.module.flags = !{!0}
++!0 = !{i32 7, !"PIC Level", i32 2}
++
++; SECURE-PLT-TLS: mflr 30
++; SECURE-PLT-TLS-NEXT: addis 30, 30, .LTOC-.L0$pb@ha
++; SECURE-PLT-TLS-NEXT: addi 30, 30, .LTOC-.L0$pb@l
++; SECURE-PLT-TLS-NEXT: bl .L{{.*}}
++; SECURE-PLT-TLS: bl __tls_get_addr(a@tlsgd)@PLT+32768
+\ No newline at end of file
diff --git a/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch b/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch
deleted file mode 100644
index b5ee930..0000000
--- a/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- rustc-1.46.0-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-+++ rustc-1.46.0-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-@@ -215,6 +215,9 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
- case Triple::ppc64le:
- return PPCTargetMachine::PPC_ABI_ELFv2;
- case Triple::ppc64:
-+ // musl uses the ELFv2 ABI on both endians.
-+ if (TT.isMusl())
-+ return PPCTargetMachine::PPC_ABI_ELFv2;
- return PPCTargetMachine::PPC_ABI_ELFv1;
- default:
- return PPCTargetMachine::PPC_ABI_UNKNOWN;
diff --git a/dev-lang/rust/files/0052-llvm-D52013.patch b/dev-lang/rust/files/0052-llvm-D52013.patch
new file mode 100644
index 0000000..05ccae6
--- /dev/null
+++ b/dev-lang/rust/files/0052-llvm-D52013.patch
@@ -0,0 +1,15 @@
+Index: rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+===================================================================
+--- rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ rustc-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+@@ -199,6 +199,10 @@
+ case Triple::ppc64le:
+ return PPCTargetMachine::PPC_ABI_ELFv2;
+ case Triple::ppc64:
++ // musl uses ELFv2 ABI on both endians.
++ if (TT.getEnvironment() == Triple::Musl)
++ return PPCTargetMachine::PPC_ABI_ELFv2;
++
+ return PPCTargetMachine::PPC_ABI_ELFv1;
+ default:
+ return PPCTargetMachine::PPC_ABI_UNKNOWN;
diff --git a/dev-lang/rust/files/0053-llvm-secureplt.patch b/dev-lang/rust/files/0053-llvm-secureplt.patch
new file mode 100644
index 0000000..ddf8877
--- /dev/null
+++ b/dev-lang/rust/files/0053-llvm-secureplt.patch
@@ -0,0 +1,28 @@
+diff --git a/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+--- a/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
++++ b/src/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+@@ -138,6 +138,10 @@
+ if (isDarwin())
+ HasLazyResolverStubs = true;
+
++ // Set up musl-specific properties.
++ if (TargetTriple.getEnvironment() == Triple::Musl)
++ SecurePlt = true;
++
+ if (HasSPE && IsPPC64)
+ report_fatal_error( "SPE is only supported for 32-bit targets.\n", false);
+ if (HasSPE && (HasAltivec || HasQPX || HasVSX || HasFPU))
+diff --git a/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp b/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+--- a/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ b/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+@@ -222,6 +222,10 @@ static Reloc::Model getEffectiveRelocModel(const Triple &TT,
+ if (TT.getArch() == Triple::ppc64)
+ return Reloc::PIC_;
+
++ // musl needs SecurePlt, which depends on PIC.
++ if (TT.getEnvironment() == Triple::Musl)
++ return Reloc::PIC_;
++
+ // Rest are static by default.
+ return Reloc::Static;
+ }
diff --git a/dev-lang/rust/files/0060-fix-build-with-libressl-2.9.1.patch b/dev-lang/rust/files/0060-fix-build-with-libressl-2.9.1.patch
new file mode 100644
index 0000000..d5375a0
--- /dev/null
+++ b/dev-lang/rust/files/0060-fix-build-with-libressl-2.9.1.patch
@@ -0,0 +1,35 @@
+From a04a24be49e14fe77dfcef647afbbe5ae5e181d1 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Wed, 24 Apr 2019 01:57:40 -0500
+Subject: [PATCH] fix build with libressl-2.9.1
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+---
+ vendor/openssl-sys/.cargo-checksum.json | 2 +-
+ vendor/openssl-sys/build/main.rs | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
+index b5c539431..49a2227bf 100644
+--- a/vendor/openssl-sys/.cargo-checksum.json
++++ b/vendor/openssl-sys/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"b09af0445220130b1b1c45791a316435f7400cf2fab3abe9c419f4f8028cfb9c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"fae5176c2b149d190c9611b58c5882312b5c0e483d1a404cfdf850473314a58f","build/main.rs":"c8bc352b94d05afeaeb96300341a695c70c3b62c46793a5c035aaf42e22b69d1","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"4f12d2f4c2a493888db669d1ecfd55df40861a78cae65957f801ed91dc2cae30","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"29aa053b67b47515fd15812aa0a90ff35dd9fa347da2beeba96d6deafeb9d945","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"520
b282b92fa372a75bc16696dc3ee7a9a5752e517a18862182a3e9f5a976d28","src/dsa.rs":"3c294c5c45235497396ac803b723b3a0cb5bd3609f5dec18338b5b014c2adeb9","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"b22d27b01a70652384866b3d0d01d2f7a0421b2ba2db9268ed379fef4b1ac034","src/err.rs":"81230711e081277e0b6dae4ff21266052d075688c758c2b0720001849ef9192d","src/evp.rs":"13a8a71154545d7c478e156edb21beb219824937aba6b29c6bc6ef895c735a3d","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"17b5a1faa0fe3ab777c8cb0039a3dffd8922b211bf1330c2cd0c3e02f624353c","src/macros.rs":"a7c95174fd4cfeb42f730c7c0744194009520249888dbf43968571219fd6dfa1","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"619177f939328597e4bcf9
c41fdf4d0aa9207d779c6e0dafddbe2eab9b1a6a98","src/pem.rs":"3ae1c53dbc126a04c188575294111cc04c215c2f3e031192d5cc05952f011ddf","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"a0bf64f1f8ff9f6e5dbed6c38d8fa2d3d1c5dfcfe6dd3ff79f7737b072ce4681","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"e69d3b9b8f2f8ae1ed3905a4dbe064ad1b7c1eaf21d7eabb86ecdb5b41e2120a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"fd85a1683064def0a9e07d803b90102229adc1d58f
a19cf4e56976f0dd7425b9","src/x509.rs":"839be2feb74755ab7df66a024ad27dfa70ce4f7889229d9152ba999f3a54b914","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"66fd646ea4caf5ce81e3c881e88d85462519c4e97a7f82e82ca8ac52ea830ad2"},"package":"1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"b09af0445220130b1b1c45791a316435f7400cf2fab3abe9c419f4f8028cfb9c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"fae5176c2b149d190c9611b58c5882312b5c0e483d1a404cfdf850473314a58f","build/main.rs":"4c1c4b208af314ee7217108c5cb22fd51dac1fdb2bbdf901a63454a99741ca2d","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"4f12d2f4c2a493888db669d1ecfd55df40861a78cae65957f801ed91dc2cae30","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"29aa053b67b47515fd15812aa0a90ff35dd9fa347da2beeba96d6deafeb9d945","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"520
b282b92fa372a75bc16696dc3ee7a9a5752e517a18862182a3e9f5a976d28","src/dsa.rs":"3c294c5c45235497396ac803b723b3a0cb5bd3609f5dec18338b5b014c2adeb9","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"b22d27b01a70652384866b3d0d01d2f7a0421b2ba2db9268ed379fef4b1ac034","src/err.rs":"81230711e081277e0b6dae4ff21266052d075688c758c2b0720001849ef9192d","src/evp.rs":"13a8a71154545d7c478e156edb21beb219824937aba6b29c6bc6ef895c735a3d","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"17b5a1faa0fe3ab777c8cb0039a3dffd8922b211bf1330c2cd0c3e02f624353c","src/macros.rs":"a7c95174fd4cfeb42f730c7c0744194009520249888dbf43968571219fd6dfa1","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"619177f939328597e4bcf9
c41fdf4d0aa9207d779c6e0dafddbe2eab9b1a6a98","src/pem.rs":"3ae1c53dbc126a04c188575294111cc04c215c2f3e031192d5cc05952f011ddf","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"a0bf64f1f8ff9f6e5dbed6c38d8fa2d3d1c5dfcfe6dd3ff79f7737b072ce4681","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"e69d3b9b8f2f8ae1ed3905a4dbe064ad1b7c1eaf21d7eabb86ecdb5b41e2120a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"fd85a1683064def0a9e07d803b90102229adc1d58f
a19cf4e56976f0dd7425b9","src/x509.rs":"839be2feb74755ab7df66a024ad27dfa70ce4f7889229d9152ba999f3a54b914","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"66fd646ea4caf5ce81e3c881e88d85462519c4e97a7f82e82ca8ac52ea830ad2"},"package":"1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6"}
+\ No newline at end of file
+diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
+index 69def400e..6f08c872d 100644
+--- a/vendor/openssl-sys/build/main.rs
++++ b/vendor/openssl-sys/build/main.rs
+@@ -505,6 +505,7 @@ See rust-openssl README for more information:
+ (8, 1) => ('8', '1'),
+ (8, _) => ('8', 'x'),
+ (9, 0) => ('9', '0'),
++ (9, _) => ('9', 'x'),
+ _ => version_error(),
+ };
+
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch b/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
deleted file mode 100644
index 9064a52..0000000
--- a/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6b31232a9d32529e30765108f30365ac48587ce6 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Thu, 8 Oct 2020 15:48:33 -0700
-Subject: [PATCH] don't create prefix at time of check
-
----
- src/bootstrap/install.rs | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
-index d9ee3bc..c5da9ce 100644
---- a/src/bootstrap/install.rs
-+++ b/src/bootstrap/install.rs
-@@ -73,12 +73,8 @@ fn install_sh(
- let docdir_default = datadir_default.join("doc/rust");
- let libdir_default = PathBuf::from("lib");
- let mandir_default = datadir_default.join("man");
-- let prefix = builder.config.prefix.as_ref().map_or(prefix_default, |p| {
-- fs::create_dir_all(p)
-- .unwrap_or_else(|err| panic!("could not create {}: {}", p.display(), err));
-- fs::canonicalize(p)
-- .unwrap_or_else(|err| panic!("could not canonicalize {}: {}", p.display(), err))
-- });
-+
-+ let prefix = builder.config.prefix.as_ref().unwrap_or(&prefix_default);
- let sysconfdir = builder.config.sysconfdir.as_ref().unwrap_or(&sysconfdir_default);
- let datadir = builder.config.datadir.as_ref().unwrap_or(&datadir_default);
- let docdir = builder.config.docdir.as_ref().unwrap_or(&docdir_default);
---
-2.28.0
-
diff --git a/dev-lang/rust/files/1.47.0-libressl.patch b/dev-lang/rust/files/1.47.0-libressl.patch
deleted file mode 100644
index 07ad0eb..0000000
--- a/dev-lang/rust/files/1.47.0-libressl.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0493f57a9878fd4d92fc419358173fd31b95bda8 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Sun, 11 Oct 2020 22:09:39 -0700
-Subject: [PATCH] Support LibreSSL 3.2.x
-
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- vendor/openssl-sys/.cargo-checksum.json | 2 +-
- vendor/openssl-sys/build/main.rs | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
-index 4c079f5..11beb6e 100644
---- a/vendor/openssl-sys/.cargo-checksum.json
-+++ b/vendor/openssl-sys/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"0d8b960ab71be4e2a08e3ff7e9615a17f7dddcd601b7fdd885bb6f6c5a6fe5f5","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d
061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9
098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7
d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
-\ No newline at end of file
-+{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"16dadcb59a2e9f7b4c7f4d6731530533f52df6af9dcc1877bcdad52a5d403385","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d
061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9
098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7
d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
-diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
-index 49f26d2..2de8ea5 100644
---- a/vendor/openssl-sys/build/main.rs
-+++ b/vendor/openssl-sys/build/main.rs
-@@ -220,7 +220,7 @@ See rust-openssl README for more information:
- (3, 0, _) => ('3', '0', 'x'),
- (3, 1, 0) => ('3', '1', '0'),
- (3, 1, _) => ('3', '1', 'x'),
-- (3, 2, 0) => ('3', '2', '0'),
-+ (3, 2, _) => ('3', '2', 'x'),
- _ => version_error(),
- };
-
-@@ -261,7 +261,7 @@ fn version_error() -> ! {
- "
-
- This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
--through 3.2.0, but a different version of OpenSSL was found. The build is now aborting
-+through 3.2.x, but a different version of OpenSSL was found. The build is now aborting
- due to this version mismatch.
-
- "
---
-2.28.0
-
diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml
index cd11337..72d27c6 100644
--- a/dev-lang/rust/metadata.xml
+++ b/dev-lang/rust/metadata.xml
@@ -1,17 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>rust@gentoo.org</email>
- <name>Rust Project</name>
- </maintainer>
- <use>
- <flag name="cargo">Install cargo component</flag>
- <flag name="clippy">Install clippy component</flag>
- <flag name="system-llvm">Use the system LLVM install</flag>
- <flag name="rls">Install rls component</flag>
- <flag name="rustfmt">Install rustfmt component</flag>
- <flag name="wasm">Build support for the wasm32-unknown-unknown
- target</flag>
- </use>
+ <maintainer type="person">
+ <email>samuel@sholland.org</email>
+ <name>Samuel Holland</name>
+ </maintainer>
+ <use>
+ <flag name="clippy">Install clippy component</flag>
+ <flag name="system-llvm">Use the system LLVM install</flag>
+ <flag name="rls">Install rls component</flag>
+ <flag name="rustfmt">Install rustfmt component</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-lang/rust/rust-1.34.2.ebuild b/dev-lang/rust/rust-1.34.2.ebuild
new file mode 100644
index 0000000..ca831e7
--- /dev/null
+++ b/dev-lang/rust/rust-1.34.2.ebuild
@@ -0,0 +1,337 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_7} )
+
+inherit check-reqs eapi7-ver flag-o-matic llvm multiprocessing python-any-r1 toolchain-funcs
+
+ABI_VER="$(ver_cut 1-2)"
+SLOT="stable/${ABI_VER}"
+MY_P="rustc-${PV}"
+SRC="${MY_P}-src.tar.xz"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
+ amd64? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-x86_64-gentoo-linux-musl.tar.xz )
+ arm? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-armv7a-unknown-linux-musleabihf.tar.xz )
+ arm64? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-aarch64-gentoo-linux-musl.tar.xz )
+ ppc? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-powerpc-gentoo-linux-musl.tar.xz )
+ ppc64? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-powerpc64-gentoo-linux-musl.tar.xz )
+ x86? ( https://portage.smaeul.xyz/distfiles/rust-${RUST_STAGE0_VERSION}-i686-gentoo-linux-musl.tar.xz )
+"
+
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm ${ALL_LLVM_TARGETS[*]}"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling one than more slot
+# simultaneously.
+
+# How to use it:
+# 1. List all the working slots (with min versions) in ||, newest first.
+# 2. Update the := to specify *max* version, e.g. < 9.
+# 3. Specify LLVM_MAX_SLOT, e.g. 8.
+LLVM_DEPEND="
+ || (
+ >=sys-devel/llvm-8:=[${LLVM_TARGET_USEDEPS// /,}]
+ )
+ <sys-devel/llvm-9:=
+"
+LLVM_MAX_SLOT=8
+
+COMMON_DEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-libs/http-parser:=
+ net-libs/libssh2:=
+ net-misc/curl:=[ssl]
+ sys-libs/zlib:=
+ system-llvm? (
+ ${LLVM_DEPEND}
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+ || (
+ >=sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ !system-llvm? (
+ dev-util/cmake
+ dev-util/ninja
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=app-eselect/eselect-rust-20190311
+ !dev-util/cargo
+ rustfmt? ( !dev-util/rustfmt )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+ x86? ( cpu_flags_x86_sse2 )
+"
+
+PATCHES=(
+ "${FILESDIR}/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch"
+ "${FILESDIR}/0002-Fix-LLVM-build.patch"
+ "${FILESDIR}/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch"
+ "${FILESDIR}/0004-Require-static-native-libraries-when-linking-static-.patch"
+ "${FILESDIR}/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch"
+ "${FILESDIR}/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch"
+ "${FILESDIR}/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch"
+ "${FILESDIR}/0008-Correct-minimum-system-LLVM-version-in-tests.patch"
+ "${FILESDIR}/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch"
+ "${FILESDIR}/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch"
+ "${FILESDIR}/0011-Ignore-broken-and-non-applicable-tests.patch"
+ "${FILESDIR}/0012-Link-stage-2-tools-dynamically-to-libstd.patch"
+ "${FILESDIR}/0013-Move-debugger-scripts-to-usr-share-rust.patch"
+ "${FILESDIR}/0014-Add-gentoo-target-specs.patch"
+ "${FILESDIR}/0030-liblibc-linkage.patch"
+ "${FILESDIR}/0040-rls-atomics.patch"
+ "${FILESDIR}/0050-llvm.patch"
+ "${FILESDIR}/0051-llvm-D45520.patch"
+ "${FILESDIR}/0052-llvm-D52013.patch"
+ "${FILESDIR}/0053-llvm-secureplt.patch"
+ "${FILESDIR}/0060-fix-build-with-libressl-2.9.1.patch"
+)
+
+S="${WORKDIR}/${MY_P}-src"
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pre_build_checks() {
+ CHECKREQS_DISK_BUILD="7G"
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ CHECKREQS_DISK_BUILD="10G"
+ fi
+ eshopts_pop
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ export RUST_BACKTRACE=1
+ pre_build_checks
+ python-any-r1_pkg_setup
+ if use system-llvm; then
+ llvm_pkg_setup
+ local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
+
+ export LLVM_LINK_SHARED=1
+ export RUSTFLAGS="$RUSTFLAGS -Lnative=$("$llvm_config" --libdir)"
+ fi
+}
+
+src_prepare() {
+ default
+
+ "${WORKDIR}/rust-${RUST_STAGE0_VERSION}-${CHOST}/install.sh" \
+ --destdir="${WORKDIR}/stage0" \
+ --prefix=/ \
+ --components=rust-std-$CHOST,rustc,cargo \
+ --disable-ldconfig \
+ || die
+}
+
+src_configure() {
+ local tools='"cargo"'
+
+ for tool in clippy rls rustfmt; do
+ if use $tool; then
+ tools+=", \"$tool\""
+ fi
+ done
+
+ cat <<- EOF > "${S}"/config.toml
+ [llvm]
+ ninja = true
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = ""
+ link-shared = $(toml_usex system-llvm)
+ [build]
+ build = "${CHOST}"
+ host = ["${CHOST}"]
+ target = ["${CHOST}"]
+ cargo = "${WORKDIR}/stage0/bin/cargo"
+ rustc = "${WORKDIR}/stage0/bin/rustc"
+ docs = $(toml_usex doc)
+ compiler-docs = $(toml_usex doc)
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ verbose = 0
+ sanitizers = false
+ profiler = false
+ extended = true
+ tools = [${tools}]
+ [install]
+ prefix = "${EPREFIX}/usr"
+ libdir = "lib"
+ docdir = "share/doc/${P}"
+ mandir = "share/${P}/man"
+ [rust]
+ optimize = $(toml_usex !debug)
+ debuginfo = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ default-linker = "$(tc-getCC)"
+ channel = "stable"
+ rpath = false
+ optimize-tests = $(toml_usex !debug)
+ dist-src = false
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ [target.${CHOST}]
+ cc = "$(tc-getCC)"
+ cxx = "$(tc-getCXX)"
+ linker = "$(tc-getCC)"
+ ar = "$(tc-getAR)"
+ EOF
+ use system-llvm && cat <<- EOF >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
+ EOF
+}
+
+src_compile() {
+ "${EPYTHON}" x.py build --config="${S}"/config.toml -j$(makeopts_jobs) --exclude src/tools/miri || die
+}
+
+src_test() {
+ "${EPYTHON}" x.py test -j$(makeopts_jobs) --no-doc --no-fail-fast \
+ src/test/codegen \
+ src/test/codegen-units \
+ src/test/compile-fail \
+ src/test/incremental \
+ src/test/mir-opt \
+ src/test/pretty \
+ src/test/run-fail \
+ src/test/run-fail/pretty \
+ src/test/run-make \
+ src/test/run-make-fulldeps \
+ src/test/run-pass \
+ src/test/run-pass/pretty \
+ src/test/run-pass-fulldeps \
+ src/test/run-pass-fulldeps/pretty \
+ src/test/ui \
+ src/test/ui-fulldeps || die
+}
+
+src_install() {
+ env DESTDIR="${D}" "${EPYTHON}" x.py install || die
+
+ mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
+ mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
+ mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
+ mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
+
+ rm "${ED}/usr/lib"/*.so || die
+ rm "${ED}/usr/lib/rustlib/components" || die
+ rm "${ED}/usr/lib/rustlib/install.log" || die
+ rm "${ED}/usr/lib/rustlib"/manifest-* || die
+ rm "${ED}/usr/lib/rustlib/rust-installer-version" || die
+ rm "${ED}/usr/lib/rustlib/uninstall.sh" || die
+
+ if use clippy; then
+ mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
+ mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
+ fi
+ if use rls; then
+ mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
+ fi
+ if use rustfmt; then
+ mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
+ mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
+ fi
+
+ if use doc; then
+ dodir "/usr/share/doc/${P}"
+ mv "${ED}/usr/share/doc/rust"/* "${ED}/usr/share/doc/${P}" || die
+ rmdir "${ED}/usr/share/doc/rust" || die
+ fi
+
+ dodoc COPYRIGHT
+ rm "${ED}/usr/share/doc/${P}"/*.old || die
+ rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die
+ rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die
+
+ docompress "/usr/share/${P}/man"
+
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="${EPREFIX}/usr/lib/rustlib/${CHOST}/lib"
+ MANPATH="${EPREFIX}/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ EOF
+ if use clippy; then
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ fi
+ if use rls; then
+ echo /usr/bin/rls >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ fi
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+
+ ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
+ ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
+ ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
diff --git a/dev-lang/rust/rust-1.47.0-r1.ebuild b/dev-lang/rust/rust-1.47.0-r1.ebuild
deleted file mode 100644
index 5c2bfe5..0000000
--- a/dev-lang/rust/rust-1.47.0-r1.ebuild
+++ /dev/null
@@ -1,531 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-ABI_VER="$(ver_cut 1-2)"
-SLOT="stable/${ABI_VER}"
-MY_P="rustc-${PV}"
-SRC="${MY_P}-src.tar.xz"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-RUST_TOOLCHAIN_BASEURL="https://portage.smaeul.xyz/distfiles/"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
- !system-bootstrap? (
- amd64? ( $(rust_arch_uri x86_64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- arm? ( $(rust_arch_uri armv7a-unknown-linux-musleabihf rust-${RUST_STAGE0_VERSION} ) )
- arm64? ( $(rust_arch_uri aarch64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- ppc? ( $(rust_arch_uri powerpc-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- ppc64? ( $(rust_arch_uri powerpc64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- x86? ( $(rust_arch_uri i686-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- )
-"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_arm_neon cpu_flags_arm_thumb2 cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt +system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling more than one slot
-# simultaneously.
-
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 12.
-# 3. Specify LLVM_MAX_SLOT, e.g. 11.
-LLVM_DEPEND="
- || (
- sys-devel/llvm:11[${LLVM_TARGET_USEDEPS// /,}]
- )
- <sys-devel/llvm-12:=
-"
-LLVM_MAX_SLOT=11
-
-BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- app-eselect/eselect-rust
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- dev-util/cmake
- dev-util/ninja
- )
-"
-
-# libgit2 should be at least same as bundled into libgit-sys #707746
-DEPEND="
- >=dev-libs/libgit2-0.99:=
- net-libs/libssh2:=
- net-libs/http-parser:=
- net-misc/curl:=[http2,ssl]
- elibc_musl? ( >=sys-libs/musl-1.2.1-r2 )
- sys-libs/zlib:=
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- system-llvm? (
- ${LLVM_DEPEND}
- wasm? ( sys-devel/lld )
- )
-"
-
-RDEPEND="${DEPEND}
- app-eselect/eselect-rust
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- test? ( ${ALL_LLVM_TARGETS[*]} )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warnings
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
- usr/lib/${PN}/${PV}/bin/.*
- usr/lib/${PN}/${PV}/lib/lib.*.so
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-# causes double bootstrap
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/1.46.0-don-t-create-prefix-at-time-of-check.patch
- "${FILESDIR}"/1.47.0-libressl.patch
- "${FILESDIR}"/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
- "${FILESDIR}"/0002-Fix-LLVM-build.patch
- "${FILESDIR}"/0003-Fix-linking-to-zlib-when-cross-compiling.patch
- "${FILESDIR}"/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
- "${FILESDIR}"/0005-Use-static-native-libraries-when-linking-static-exec.patch
- "${FILESDIR}"/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
- "${FILESDIR}"/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
- "${FILESDIR}"/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
- "${FILESDIR}"/0009-test-failed-doctest-output-Fix-normalization.patch
- "${FILESDIR}"/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
- "${FILESDIR}"/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
- "${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/0013-Link-stage-2-tools-dynamically-to-libstd.patch
- "${FILESDIR}"/0014-Move-debugger-scripts-to-usr-share-rust.patch
- "${FILESDIR}"/0015-Add-gentoo-target-specs.patch
- "${FILESDIR}"/0030-libc-linkage.patch
- "${FILESDIR}"/0040-rls-atomics.patch
- "${FILESDIR}"/0050-llvm.patch
- "${FILESDIR}"/0051-llvm-powerpc-elfv2.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "$1" true false
-}
-
-pre_build_checks() {
- local M=6144
- M=$(( $(usex clippy 128 0) + ${M} ))
- M=$(( $(usex miri 128 0) + ${M} ))
- M=$(( $(usex rls 512 0) + ${M} ))
- M=$(( $(usex rustfmt 256 0) + ${M} ))
- M=$(( $(usex system-llvm 0 2048) + ${M} ))
- M=$(( $(usex wasm 256 0) + ${M} ))
- M=$(( $(usex debug 15 10) * ${M} / 10 ))
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- M=$(( 15 * ${M} / 10 ))
- fi
- eshopts_pop
- M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
- M=$(( $(usex doc 256 0) + ${M} ))
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- # required to link agains system libs, otherwise
- # crates use bundled sources and compile own static version
- export LIBGIT2_SYS_USE_PKG_CONFIG=1
- export LIBSSH2_SYS_USE_PKG_CONFIG=1
- export PKG_CONFIG_ALLOW_CROSS=1
-
- if use system-llvm; then
- llvm_pkg_setup
-
- local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
-
- export LLVM_LINK_SHARED=1
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
- fi
-}
-
-src_prepare() {
- if ! use system-bootstrap; then
- local rust_stage0_root="${WORKDIR}"/rust-stage0
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-${CHOST}"
-
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
- --components=rust-std-${CHOST},rustc,cargo \
- --destdir="${rust_stage0_root}" --prefix=/ || die
- fi
-
- default
-}
-
-src_configure() {
- local arch_cflags rust_target="" rust_targets="\"$CHOST\"" tools="\"cargo\""
-
- # Collect rust target names to compile standard libs for all ABIs.
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}) | sed s/gnu/musl/)
- rust_targets="${rust_targets},\"${rust_target}\""
-
- if [ "$rust_target" = "armv7-unknown-linux-musleabihf" ] &&
- use cpu_flags_arm_neon && use cpu_flags_arm_thumb2; then
- rust_targets="${rust_targets},\"thumbv7neon-unknown-linux-musleabihf\""
- fi
- done
- if use wasm; then
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
- if use system-llvm; then
- # un-hardcode rust-lld linker for this target
- # https://bugs.gentoo.org/715348
- sed -i '/linker:/ s/rust-lld/wasm-ld/' src/librustc_target/spec/wasm32_base.rs || die
- fi
- fi
-
- if use clippy; then
- tools="\"clippy\",$tools"
- fi
- if use miri; then
- tools="\"miri\",$tools"
- fi
- if use rls; then
- tools="\"rls\",\"analysis\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- rust_stage0_root="$(rustc --print sysroot)"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
-
- rust_target="${CHOST}"
-
- cat <<- _EOF_ > "${S}"/config.toml
- [llvm]
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- ninja = true
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = ""
- link-shared = $(toml_usex system-llvm)
- [build]
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- docs = $(toml_usex doc)
- compiler-docs = $(toml_usex doc)
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- tools = [${tools}]
- verbose = 2
- sanitizers = false
- profiler = false
- cargo-native-static = false
- [install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
- sysconfdir = "etc"
- docdir = "share/doc/rust"
- bindir = "bin"
- libdir = "lib"
- mandir = "share/man"
- [rust]
- # https://github.com/rust-lang/rust/issues/54872
- codegen-units-std = 1
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debuginfo-level-rustc = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- rpath = false
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- dist-src = false
- remap-debuginfo = true
- lld = $(usex system-llvm false $(toml_usex wasm))
- backtrace-on-ice = true
- jemalloc = false
- [dist]
- src-tarball = false
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
- if use system-llvm; then
- cat <<- EOF >> "${S}"/config.toml
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- EOF
- fi
-
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}) | sed s/gnu/musl/)
- arch_cflags="$(get_abi_CFLAGS ${v##*.})"
-
- export "CFLAGS_${rust_target//-/_}"="$CFLAGS ${arch_cflags}"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
-
- if [ "$rust_target" = "armv7-unknown-linux-musleabihf" ] &&
- use cpu_flags_arm_neon && use cpu_flags_arm_thumb2; then
- rust_target=thumbv7neon-unknown-linux-musleabihf
-
- export "CFLAGS_${rust_target//-/_}"="$CFLAGS ${arch_cflags}"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
- fi
- done
-
- if use wasm; then
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.wasm32-unknown-unknown]
- linker = "$(usex system-llvm lld rust-lld)"
- _EOF_
- fi
-
- einfo "Rust configured with the following settings:"
- cat "${S}"/config.toml || die
-}
-
-src_compile() {
- RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
-}
-
-src_test() {
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html
-
- # those are basic and codegen tests.
- local tests=(
- codegen
- codegen-units
- compile-fail
- incremental
- mir-opt
- pretty
- run-make
- )
-
- # fails if llvm is not built with ALL targets.
- # and known to fail with system llvm sometimes.
- use system-llvm || tests+=( assembly )
-
- # fragile/expensive/less important tests
- # or tests that require extra builds
- # TODO: instead of skipping, just make some nonfatal.
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
- tests+=(
- rustdoc
- rustdoc-js
- rustdoc-js-std
- rustdoc-ui
- run-make-fulldeps
- ui
- ui-fulldeps
- )
- fi
-
- local i failed=()
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
- for i in "${tests[@]}"; do
- local t="src/test/${i}"
- einfo "rust_src_test: running ${t}"
- if ! RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
- then
- failed+=( "${t}" )
- eerror "rust_src_test: ${t} failed"
- fi
- done
-
- if [[ ${#failed[@]} -ne 0 ]]; then
- eerror "rust_src_test: failure summary: ${failed[@]}"
- die "aborting due to test failures"
- fi
-}
-
-src_install() {
- DESTDIR="${D}" \
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
-
- # bug #689562, #689160
- rm -v "${D}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
- rmdir -v "${D}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
- dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
-
- # Move public shared libs to abi specific libdir
- mv "${ED}/usr/lib/${PN}/${PV}/lib"/*.so "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/${CHOST}/lib" || die
-
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/components" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/install.log" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib"/manifest-* || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/rust-installer-version" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/uninstall.sh" || die
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
- use rls && symlinks+=( rls )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
- # need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${PV}"
- mv -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" "${ED}/usr/lib/${PN}/${PV}/bin/${i}" || die
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
- dosym "${PN}/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
- dosym "../../lib/${PN}/${PV}/share/doc" "/usr/share/doc/${P}"
-
- newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/${PN}/${PV}/lib/rustlib/${CHOST}/lib"
- MANPATH="${EPREFIX}/usr/lib/rust/man"
- _EOF_
-
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use miri; then
- echo /usr/bin/miri >> "${T}/provider-${P}"
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
- fi
- if use rls; then
- echo /usr/bin/rls >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- elog "Rust installs a helper script for calling GDB and LLDB,"
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
-
- if has_version app-editors/emacs; then
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] proj/musl:master commit in: dev-lang/rust/files/, dev-lang/rust/
@ 2021-04-30 15:10 Jory Pratt
0 siblings, 0 replies; 5+ messages in thread
From: Jory Pratt @ 2021-04-30 15:10 UTC (permalink / raw
To: gentoo-commits
commit: d45387dbdba0fff1fdbf5401c499e7279ca55911
Author: Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 30 15:09:14 2021 +0000
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Fri Apr 30 15:09:14 2021 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=d45387db
dev-lang/rust: move large patches to dev space
Package-Manager: Portage-3.0.18, Repoman-3.0.2
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
dev-lang/rust/Manifest | 2 +
...l_root-and-CRT-fallback-from-musl-targets.patch | 486 ---------------------
dev-lang/rust/files/0030-libc-linkage.patch | 34 --
dev-lang/rust/rust-1.47.0-r1.ebuild | 6 +-
4 files changed, 6 insertions(+), 522 deletions(-)
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index eaa5797..a958eb9 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,3 +1,5 @@
+DIST 0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch 21313 BLAKE2B 0b73d172d01507cc30f29766c605dc2b771f4bd555c337e11a99ba78abd912d9dc4179f5ca07f5346e97dead7b39964832a2c33610ee1735315141bf6f0e0004 SHA512 001d0b99507cd6c25713f0a6ea6bc4b9fb762083b84085f4abb8c3544f1c2d153a1d2c35e03969d2d789f4b6b84d6dae92dd0b5d9d73fea5eb75aa266c31a05b
+DIST 0030-libc-linkage.patch 37284 BLAKE2B b1e9f36bea6c6bba46b65967e49d3f0e0084da3a02a3a253d425a6e1534e7362b91a04bb975f08d347a57e16f4fef4662cb8c0cbe0821e1cdb90ab442276ef77 SHA512 8818c4ef45ddc537ba6930f83d503beffad8d80e6f51d3d1742ac4c5943f12b91951182aa06fd90cdbf8cb52b43c4fa35ed8ec3176f7ab94261b655b27fcb789
DIST rust-1.46.0-aarch64-gentoo-linux-musl.tar.xz 101117048 BLAKE2B ef9fafab60b24d5896f1d2c66718945946c0178c3434b1993add6056e3c88fab7d51923942d398bf2d0fbc0a1a9220dcef37ac289a421c3a1f6bcc6b7c755a46 SHA512 764f909849f91d3cbd071d96d6947b08b45f08b3bbd523fcea4310abc807957b0bb3b696e955182ab888c400b6c830442610d3bc510583afe0c910141514d438
DIST rust-1.46.0-armv7a-unknown-linux-musleabihf.tar.xz 100547468 BLAKE2B 798183dee50e9e35ed2be6d21d89e49265a0764dde904409a5a52a6b0f9856b8ae566daf7651b2071c996930ca9079e39fe246cdce80eea7dc5bee5ce0b3802e SHA512 ad164673320c33a49abfd9e571291beb2394f35b03d913ab70d9da27d38427440efe87a17e0d15b4021c4355be812ab5fe5c02f9ab8f8d6d3d799a872a02ac0f
DIST rust-1.46.0-i686-gentoo-linux-musl.tar.xz 113552128 BLAKE2B 994911aa66c8f4e6e36b3037febdf2fe1586f478a127604988858fb6bead13da2e46e6d4e2d91496ca399402db00c153fe0e77a788a7f13847ba0ebfd90dff86 SHA512 c00c7992914c4a02827e3011cad59e454f5778f2fc6224928fb1fdf5f39752474473a41273700350b54de6d940ba0964a77a341a435e8ea8f7b9750f64454dd0
diff --git a/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch b/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
deleted file mode 100644
index f241be8..0000000
--- a/dev-lang/rust/files/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
+++ /dev/null
@@ -1,486 +0,0 @@
-From 1e13488d9fc661f8f489609dcfc6ed8b61957ca3 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Fri, 8 Sep 2017 22:11:14 -0500
-Subject: [PATCH 06/15] Remove musl_root and CRT fallback from musl targets
-
----
- config.toml.example | 12 --------
- src/bootstrap/cc_detect.rs | 27 ++----------------
- src/bootstrap/compile.rs | 28 +------------------
- src/bootstrap/config.rs | 10 -------
- src/bootstrap/configure.py | 28 -------------------
- src/bootstrap/lib.rs | 19 -------------
- src/bootstrap/sanity.rs | 22 ---------------
- .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 --
- .../host-x86_64/dist-various-1/Dockerfile | 9 ------
- .../host-x86_64/dist-various-2/Dockerfile | 3 +-
- .../host-x86_64/dist-x86_64-musl/Dockerfile | 1 -
- .../host-x86_64/test-various/Dockerfile | 1 -
- src/librustc_codegen_ssa/back/link.rs | 6 +---
- src/librustc_target/spec/crt_objects.rs | 18 ------------
- src/librustc_target/spec/linux_musl_base.rs | 5 ----
- 15 files changed, 5 insertions(+), 186 deletions(-)
-
-diff --git a/config.toml.example b/config.toml.example
-index 36587cc0784..c74dd740868 100644
---- a/config.toml.example
-+++ b/config.toml.example
-@@ -385,9 +385,6 @@
- # nightly features
- #channel = "dev"
-
--# The root location of the musl installation directory.
--#musl-root = "..."
--
- # By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
- # platforms to ensure that the compiler is usable by default from the build
- # directory (as it links to a number of dynamic libraries). This may not be
-@@ -530,15 +527,6 @@
- # only use static libraries. If unset, the target's default linkage is used.
- #crt-static = false
-
--# The root location of the musl installation directory. The library directory
--# will also need to contain libunwind.a for an unwinding implementation. Note
--# that this option only makes sense for musl targets that produce statically
--# linked binaries
--#musl-root = "..."
--
--# The full path to the musl libdir.
--#musl-libdir = musl-root/lib
--
- # The root location of the `wasm32-wasi` sysroot.
- #wasi-root = "..."
-
-diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index 7ff00d85dd2..ae80d8a5963 100644
---- a/src/bootstrap/cc_detect.rs
-+++ b/src/bootstrap/cc_detect.rs
-@@ -42,8 +42,6 @@ fn cc2ar(cc: &Path, target: TargetSelection) -> Option<PathBuf> {
- Some(PathBuf::from(ar))
- } else if target.contains("msvc") {
- None
-- } else if target.contains("musl") {
-- Some(PathBuf::from("ar"))
- } else if target.contains("openbsd") {
- Some(PathBuf::from("ar"))
- } else if target.contains("vxworks") {
-@@ -98,7 +96,7 @@ pub fn find(build: &mut Build) {
- if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
- cfg.compiler(cc);
- } else {
-- set_compiler(&mut cfg, Language::C, target, config, build);
-+ set_compiler(&mut cfg, Language::C, target, config);
- }
-
- let compiler = cfg.get_compiler();
-@@ -126,7 +124,7 @@ pub fn find(build: &mut Build) {
- cfg.compiler(cxx);
- true
- } else if build.hosts.contains(&target) || build.build == target {
-- set_compiler(&mut cfg, Language::CPlusPlus, target, config, build);
-+ set_compiler(&mut cfg, Language::CPlusPlus, target, config);
- true
- } else {
- false
-@@ -155,7 +153,6 @@ fn set_compiler(
- compiler: Language,
- target: TargetSelection,
- config: Option<&Target>,
-- build: &Build,
- ) {
- match &*target.triple {
- // When compiling for android we may have the NDK configured in the
-@@ -198,26 +195,6 @@ fn set_compiler(
- }
- }
-
-- "mips-unknown-linux-musl" => {
-- if cfg.get_compiler().path().to_str() == Some("gcc") {
-- cfg.compiler("mips-linux-musl-gcc");
-- }
-- }
-- "mipsel-unknown-linux-musl" => {
-- if cfg.get_compiler().path().to_str() == Some("gcc") {
-- cfg.compiler("mipsel-linux-musl-gcc");
-- }
-- }
--
-- t if t.contains("musl") => {
-- if let Some(root) = build.musl_root(target) {
-- let guess = root.join("bin/musl-gcc");
-- if guess.exists() {
-- cfg.compiler(guess);
-- }
-- }
-- }
--
- _ => {}
- }
- }
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 373e240cb8e..0be09300f7c 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -166,24 +166,7 @@ fn copy_self_contained_objects(
-
- // Copies the CRT objects.
- //
-- // rustc historically provides a more self-contained installation for musl targets
-- // not requiring the presence of a native musl toolchain. For example, it can fall back
-- // to using gcc from a glibc-targeting toolchain for linking.
-- // To do that we have to distribute musl startup objects as a part of Rust toolchain
-- // and link with them manually in the self-contained mode.
-- if target.contains("musl") {
-- let srcdir = builder.musl_libdir(target).unwrap();
-- for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
-- copy_and_stamp(
-- builder,
-- &libdir_self_contained,
-- &srcdir,
-- obj,
-- &mut target_deps,
-- DependencyType::TargetSelfContained,
-- );
-- }
-- } else if target.ends_with("-wasi") {
-+ if target.ends_with("-wasi") {
- let srcdir = builder.wasi_root(target).unwrap().join("lib/wasm32-wasi");
- copy_and_stamp(
- builder,
-@@ -258,15 +241,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
- .arg("--manifest-path")
- .arg(builder.src.join("library/test/Cargo.toml"));
-
-- // Help the libc crate compile by assisting it in finding various
-- // sysroot native libraries.
-- if target.contains("musl") {
-- if let Some(p) = builder.musl_libdir(target) {
-- let root = format!("native={}", p.to_str().unwrap());
-- cargo.rustflag("-L").rustflag(&root);
-- }
-- }
--
- if target.ends_with("-wasi") {
- if let Some(p) = builder.wasi_root(target) {
- let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
-diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index 8b8b01b1153..d4469ed1f96 100644
---- a/src/bootstrap/config.rs
-+++ b/src/bootstrap/config.rs
-@@ -137,8 +137,6 @@ pub struct Config {
- pub print_step_timings: bool,
- pub missing_tools: bool,
-
-- // Fallback musl-root for all targets
-- pub musl_root: Option<PathBuf>,
- pub prefix: Option<PathBuf>,
- pub sysconfdir: Option<PathBuf>,
- pub datadir: Option<PathBuf>,
-@@ -235,8 +233,6 @@ pub struct Target {
- pub linker: Option<PathBuf>,
- pub ndk: Option<PathBuf>,
- pub crt_static: Option<bool>,
-- pub musl_root: Option<PathBuf>,
-- pub musl_libdir: Option<PathBuf>,
- pub wasi_root: Option<PathBuf>,
- pub qemu_rootfs: Option<PathBuf>,
- pub no_std: bool,
-@@ -390,7 +386,6 @@ struct Rust {
- parallel_compiler: Option<bool>,
- default_linker: Option<String>,
- channel: Option<String>,
-- musl_root: Option<String>,
- rpath: Option<bool>,
- verbose_tests: Option<bool>,
- optimize_tests: Option<bool>,
-@@ -427,8 +422,6 @@ struct TomlTarget {
- llvm_filecheck: Option<String>,
- android_ndk: Option<String>,
- crt_static: Option<bool>,
-- musl_root: Option<String>,
-- musl_libdir: Option<String>,
- wasi_root: Option<String>,
- qemu_rootfs: Option<String>,
- no_std: Option<bool>,
-@@ -659,7 +652,6 @@ impl Config {
- set(&mut config.llvm_tools_enabled, rust.llvm_tools);
- config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
- config.rustc_default_linker = rust.default_linker.clone();
-- config.musl_root = rust.musl_root.clone().map(PathBuf::from);
- config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from);
- set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
- set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
-@@ -699,8 +691,6 @@ impl Config {
- target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
- target.linker = cfg.linker.clone().map(PathBuf::from);
- target.crt_static = cfg.crt_static;
-- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
-- target.musl_libdir = cfg.musl_libdir.clone().map(PathBuf::from);
- target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from);
- target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
-
-diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
-index 47673ce1e87..33004e317ce 100755
---- a/src/bootstrap/configure.py
-+++ b/src/bootstrap/configure.py
-@@ -109,34 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
- "aarch64-linux-android NDK standalone path")
- v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk",
- "x86_64-linux-android NDK standalone path")
--v("musl-root", "target.x86_64-unknown-linux-musl.musl-root",
-- "MUSL root installation directory (deprecated)")
--v("musl-root-x86_64", "target.x86_64-unknown-linux-musl.musl-root",
-- "x86_64-unknown-linux-musl install directory")
--v("musl-root-i586", "target.i586-unknown-linux-musl.musl-root",
-- "i586-unknown-linux-musl install directory")
--v("musl-root-i686", "target.i686-unknown-linux-musl.musl-root",
-- "i686-unknown-linux-musl install directory")
--v("musl-root-arm", "target.arm-unknown-linux-musleabi.musl-root",
-- "arm-unknown-linux-musleabi install directory")
--v("musl-root-armhf", "target.arm-unknown-linux-musleabihf.musl-root",
-- "arm-unknown-linux-musleabihf install directory")
--v("musl-root-armv5te", "target.armv5te-unknown-linux-musleabi.musl-root",
-- "armv5te-unknown-linux-musleabi install directory")
--v("musl-root-armv7", "target.armv7-unknown-linux-musleabi.musl-root",
-- "armv7-unknown-linux-musleabi install directory")
--v("musl-root-armv7hf", "target.armv7-unknown-linux-musleabihf.musl-root",
-- "armv7-unknown-linux-musleabihf install directory")
--v("musl-root-aarch64", "target.aarch64-unknown-linux-musl.musl-root",
-- "aarch64-unknown-linux-musl install directory")
--v("musl-root-mips", "target.mips-unknown-linux-musl.musl-root",
-- "mips-unknown-linux-musl install directory")
--v("musl-root-mipsel", "target.mipsel-unknown-linux-musl.musl-root",
-- "mipsel-unknown-linux-musl install directory")
--v("musl-root-mips64", "target.mips64-unknown-linux-muslabi64.musl-root",
-- "mips64-unknown-linux-muslabi64 install directory")
--v("musl-root-mips64el", "target.mips64el-unknown-linux-muslabi64.musl-root",
-- "mips64el-unknown-linux-muslabi64 install directory")
- v("qemu-armhf-rootfs", "target.arm-unknown-linux-gnueabihf.qemu-rootfs",
- "rootfs in qemu testing, you probably don't want to use this")
- v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
-diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 77316c734b8..b92da611a51 100644
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -875,25 +875,6 @@ impl Build {
- }
- }
-
-- /// Returns the "musl root" for this `target`, if defined
-- fn musl_root(&self, target: TargetSelection) -> Option<&Path> {
-- self.config
-- .target_config
-- .get(&target)
-- .and_then(|t| t.musl_root.as_ref())
-- .or_else(|| self.config.musl_root.as_ref())
-- .map(|p| &**p)
-- }
--
-- /// Returns the "musl libdir" for this `target`.
-- fn musl_libdir(&self, target: TargetSelection) -> Option<PathBuf> {
-- let t = self.config.target_config.get(&target)?;
-- if let libdir @ Some(_) = &t.musl_libdir {
-- return libdir.clone();
-- }
-- self.musl_root(target).map(|root| root.join("lib"))
-- }
--
- /// Returns the sysroot for the wasi target, if defined
- fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
- self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p)
-diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index f89bef50de9..e22638c533e 100644
---- a/src/bootstrap/sanity.rs
-+++ b/src/bootstrap/sanity.rs
-@@ -195,28 +195,6 @@ pub fn check(build: &mut Build) {
- }
- }
-
-- // Make sure musl-root is valid
-- if target.contains("musl") {
-- // If this is a native target (host is also musl) and no musl-root is given,
-- // fall back to the system toolchain in /usr before giving up
-- if build.musl_root(*target).is_none() && build.config.build == *target {
-- let target = build.config.target_config.entry(target.clone()).or_default();
-- target.musl_root = Some("/usr".into());
-- }
-- match build.musl_libdir(*target) {
-- Some(libdir) => {
-- if fs::metadata(libdir.join("libc.a")).is_err() {
-- panic!("couldn't find libc.a in musl libdir: {}", libdir.display());
-- }
-- }
-- None => panic!(
-- "when targeting MUSL either the rust.musl-root \
-- option or the target.$TARGET.musl-root option must \
-- be specified in config.toml"
-- ),
-- }
-- }
--
- if target.contains("msvc") {
- // There are three builds of cmake on windows: MSVC, MinGW, and
- // Cygwin. The Cygwin build does not have generators for Visual
-diff --git a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-index 162d7a1345c..48f025fd542 100644
---- a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile
-@@ -30,8 +30,6 @@ COPY scripts/sccache.sh /scripts/
- RUN sh /scripts/sccache.sh
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-i586=/musl-i586 \
-- --musl-root-i686=/musl-i686 \
- --disable-docs
-
- # Newer binutils broke things on some vms/distros (i.e., linking against
-diff --git a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-index fdd777e824b..2b3d090c1ae 100644
---- a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile
-@@ -180,15 +180,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
- CC_riscv64gc_unknown_none_elf=false
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-armv5te=/musl-armv5te \
-- --musl-root-arm=/musl-arm \
-- --musl-root-armhf=/musl-armhf \
-- --musl-root-armv7hf=/musl-armv7hf \
-- --musl-root-aarch64=/musl-aarch64 \
-- --musl-root-mips=/musl-mips \
-- --musl-root-mipsel=/musl-mipsel \
-- --musl-root-mips64=/musl-mips64 \
-- --musl-root-mips64el=/musl-mips64el \
- --disable-docs
-
- ENV SCRIPT \
-diff --git a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-index 3081f29aef2..223547bf8cd 100644
---- a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
-@@ -107,7 +107,6 @@ ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabi
- RUN ln -s /usr/include/asm-generic /usr/local/include/asm
-
- ENV RUST_CONFIGURE_ARGS --enable-extended --enable-lld --disable-docs \
-- --set target.wasm32-wasi.wasi-root=/wasm32-wasi \
-- --musl-root-armv7=/musl-armv7
-+ --set target.wasm32-wasi.wasi-root=/wasm32-wasi
-
- ENV SCRIPT python3 ../x.py dist --target $TARGETS
-diff --git a/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-index ab6515cd1fa..5203d604150 100644
---- a/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-+++ b/src/ci/docker/host-x86_64/dist-x86_64-musl/Dockerfile
-@@ -31,7 +31,6 @@ RUN sh /scripts/sccache.sh
- ENV HOSTS=x86_64-unknown-linux-musl
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
- --enable-extended \
- --enable-lld \
- --set target.x86_64-unknown-linux-musl.crt-static=false \
-diff --git a/src/ci/docker/host-x86_64/test-various/Dockerfile b/src/ci/docker/host-x86_64/test-various/Dockerfile
-index c55a284e137..a808a915fcb 100644
---- a/src/ci/docker/host-x86_64/test-various/Dockerfile
-+++ b/src/ci/docker/host-x86_64/test-various/Dockerfile
-@@ -29,7 +29,6 @@ COPY scripts/sccache.sh /scripts/
- RUN sh /scripts/sccache.sh
-
- ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
- --set build.nodejs=/node-v14.4.0-linux-x64/bin/node \
- --set rust.lld
-
-diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs
-index 70bc9d5e980..b35fe073d26 100644
---- a/src/librustc_codegen_ssa/back/link.rs
-+++ b/src/librustc_codegen_ssa/back/link.rs
-@@ -1288,16 +1288,12 @@ fn link_output_kind(sess: &Session, crate_type: CrateType) -> LinkOutputKind {
-
- /// Whether we link to our own CRT objects instead of relying on gcc to pull them.
- /// We only provide such support for a very limited number of targets.
--fn crt_objects_fallback(sess: &Session, crate_type: CrateType) -> bool {
-+fn crt_objects_fallback(sess: &Session, _crate_type: CrateType) -> bool {
- if let Some(self_contained) = sess.opts.debugging_opts.link_self_contained {
- return self_contained;
- }
-
- match sess.target.target.options.crt_objects_fallback {
-- // FIXME: Find a better heuristic for "native musl toolchain is available",
-- // based on host and linker path, for example.
-- // (https://github.com/rust-lang/rust/pull/71769#issuecomment-626330237).
-- Some(CrtObjectsFallback::Musl) => sess.crt_static(Some(crate_type)),
- // FIXME: Find some heuristic for "native mingw toolchain is available",
- // likely based on `get_crt_libs_path` (https://github.com/rust-lang/rust/pull/67429).
- Some(CrtObjectsFallback::Mingw) => {
-diff --git a/src/librustc_target/spec/crt_objects.rs b/src/librustc_target/spec/crt_objects.rs
-index 8991691a9a3..b7e47afd942 100644
---- a/src/librustc_target/spec/crt_objects.rs
-+++ b/src/librustc_target/spec/crt_objects.rs
-@@ -61,21 +61,6 @@ pub(super) fn all(obj: &str) -> CrtObjects {
- ])
- }
-
--pub(super) fn pre_musl_fallback() -> CrtObjects {
-- new(&[
-- (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o"]),
-- (LinkOutputKind::DynamicPicExe, &["Scrt1.o", "crti.o"]),
-- (LinkOutputKind::StaticNoPicExe, &["crt1.o", "crti.o"]),
-- (LinkOutputKind::StaticPicExe, &["rcrt1.o", "crti.o"]),
-- (LinkOutputKind::DynamicDylib, &["crti.o"]),
-- (LinkOutputKind::StaticDylib, &["crti.o"]),
-- ])
--}
--
--pub(super) fn post_musl_fallback() -> CrtObjects {
-- all("crtn.o")
--}
--
- pub(super) fn pre_mingw_fallback() -> CrtObjects {
- new(&[
- (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
-@@ -115,7 +100,6 @@ pub(super) fn post_wasi_fallback() -> CrtObjects {
- /// Which logic to use to determine whether to fall back to the "self-contained" mode or not.
- #[derive(Clone, Copy, PartialEq, Hash, Debug)]
- pub enum CrtObjectsFallback {
-- Musl,
- Mingw,
- Wasm,
- }
-@@ -125,7 +109,6 @@ impl FromStr for CrtObjectsFallback {
-
- fn from_str(s: &str) -> Result<CrtObjectsFallback, ()> {
- Ok(match s {
-- "musl" => CrtObjectsFallback::Musl,
- "mingw" => CrtObjectsFallback::Mingw,
- "wasm" => CrtObjectsFallback::Wasm,
- _ => return Err(()),
-@@ -136,7 +119,6 @@ impl FromStr for CrtObjectsFallback {
- impl ToJson for CrtObjectsFallback {
- fn to_json(&self) -> Json {
- match *self {
-- CrtObjectsFallback::Musl => "musl",
- CrtObjectsFallback::Mingw => "mingw",
- CrtObjectsFallback::Wasm => "wasm",
- }
-diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
-index b90e91d2901..c5f5f99a96d 100644
---- a/src/librustc_target/spec/linux_musl_base.rs
-+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -1,13 +1,8 @@
--use crate::spec::crt_objects::{self, CrtObjectsFallback};
- use crate::spec::TargetOptions;
-
- pub fn opts() -> TargetOptions {
- let mut base = super::linux_base::opts();
-
-- base.pre_link_objects_fallback = crt_objects::pre_musl_fallback();
-- base.post_link_objects_fallback = crt_objects::post_musl_fallback();
-- base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
--
- // These targets statically link libc by default
- base.crt_static_default = true;
- // These targets allow the user to choose between static and dynamic linking.
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0030-libc-linkage.patch b/dev-lang/rust/files/0030-libc-linkage.patch
deleted file mode 100644
index 5a92904..0000000
--- a/dev-lang/rust/files/0030-libc-linkage.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- rustc-1.47.0-src/vendor/libc-0.2.74/src/lib.rs
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/src/lib.rs
-@@ -27,6 +27,7 @@
- #![deny(missing_copy_implementations, safe_packed_borrows)]
- #![no_std]
- #![cfg_attr(feature = "rustc-dep-of-std", no_core)]
-+#![cfg_attr(target_env = "musl", feature(static_nobundle))]
- #![cfg_attr(target_os = "redox", feature(static_nobundle))]
- #![cfg_attr(libc_const_extern_fn, feature(const_extern_fn))]
-
---- rustc-1.47.0-src/vendor/libc-0.2.74/src/unix/mod.rs
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/src/unix/mod.rs
-@@ -299,11 +299,11 @@ cfg_if! {
- // cargo build, don't pull in anything extra as the libstd dep
- // already pulls in all libs.
- } else if #[cfg(target_env = "musl")] {
-+ #[link(name = "c")]
-+ extern {}
- #[cfg_attr(feature = "rustc-dep-of-std",
-- link(name = "c", kind = "static",
-+ link(name = "gcc", kind = "static-nobundle",
- cfg(target_feature = "crt-static")))]
-- #[cfg_attr(feature = "rustc-dep-of-std",
-- link(name = "c", cfg(not(target_feature = "crt-static"))))]
- extern {}
- } else if #[cfg(target_os = "emscripten")] {
- #[link(name = "c")]
---- rustc-1.47.0-src/vendor/libc-0.2.74/.cargo-checksum.json
-+++ rustc-1.47.0-src/vendor/libc-0.2.74/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"128aa804901aaf7c386262cfbba894041bf1b109232d69c3e8b6b01df0a67dd1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"52f1027a072c02e6e9e1f3d9630ec24e4d57507399c6363afcbcceaa106d152b","build.rs":"ab351d7171b14f8032948e843841ebe8518ed95eb1abf0b1e689700c7cef4bf5","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75
fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"61502b3d124759c7c1bae294c1662036a96718fb3bd329cfa2f12e1c61ac10ad","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"d80f0a2f77d485601a218e0707474245636d8b23fb3d6c65c9dbd4302ea6674b","src/macros.rs":"83aed048c5053300345fca843b148928b91ed444188c479315
ff6bcabaa0c4e9","src/psp.rs":"a93741ac38660e548eb41b58df39da39944e5c04280a7b09e0be758e79942549","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"19c8598b72272cc61d7f6a05b7fec78958ce86b11d0f5a655e1e58da0bc2af44","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"ae5e8e6b0f610ec015dfcc2928609037d7ea7b94570c72bcc5bdd588424c6259","src/unix/bsd/freebsdlike/dragonfly/mod.rs"
:"0e41b6202c7670ce27201095fc1a2826c9e9ccbbc751e97ae1568871ea481a62","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"1ed8971b7de3b0435341a9af1366493d0458e4a00507dd824c4c11f4ce2006af","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/un
ix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"0046a4083f01ad67511427f1ac37168f31bef3be10c849d304d39f98d61c1267","src/unix/bsd/mod.rs":"4acdbc0148b672fe015ddd7cae952e5d77691df6941a20f8ca40fd996e6a37dd","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"16a9036b6a8b373cdf0576ae99c95430f3f111b6be906a1e1ecff8047e178a86","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"e
e7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"a2938e72d1c6e3f32fb51e896b63abd0d79e1e360dc53f9254fdac82b21206b9","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b474450
0d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"29863051c296eeb22e7f00a266d6632b6a886b9a791f128e3c554e96213c3a16","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"fb7e14d0f46ffaa989b5ab68c85184efe6aa04b5381e46866299b1f3258ddce3","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"
2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"d414f682fd0d138d440300dc53c6b8b069730e19230dabd4c01173c4578c42b5","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"55fb89f5a965a4ad81ee4d02498c32aaed69e6047ce708c2329a602171862a76","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"dde64
8468764a5deef5566b8016290150acf50ee6a0f8c0678cb2078658bc2fa","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"6d9ba242111c7be8173b7a7b8cf8c863ba23d839edc9d026c0fd37a4b64460b4","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"e2d2e51fea73210d9705b7eaa37de8baa7152b71ae3a10a316c277345c529b5c","src/unix/linux_like/linux/gnu/b32/mod.rs":"e224551fa50be726bc8a559da32a96294b18743fb5a5b67cdbee4bb6a9eeb796","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"39aae80d2c4ffa845592e16c0a6c910017de19e2b15c1e507c4df10e79ce3e38","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/lin
ux/gnu/b32/sparc/mod.rs":"3b4dd40b288788740d2b030171b21f9d0b076ce26d88e0ff62f5d87f09e7c787","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"927d1bd8cb2f053549fc5acfeb1315b7f80b35d7a1904cd76e99651ff32b141e","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"17e9cd23a14bd19700c05a154568fff5897788c0ae151c21dd3bba67aac829d9","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"0b5d94f3a2361742b6dd9eb3f543ddf675d3f70dab3402ad179faa6ddaae2218","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc7
8a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"2f279eb268c0aca9a6bd9b4c84139799cd039a64ca1cd2ded68b04c63397be1b","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"bb01828300f02c11c27689522454439d0d02f22d738df88a97367dc87eecf868","src/unix/linux_like/linux/gnu/b64/s390x.rs":"9c449b64b11cbf55d453b324cf9475acb3253f85cb9692f9873b777ed8978ff4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"a2667a09e526878683fafa02474f81fbc212d861ceeabade17b0ff4d6d49ff9d","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"c1862036556262f076eda2008470b8a351b9c371d70664f54387c46890e8cd18","src/unix/linux_like/
linux/gnu/b64/x86_64/x32.rs":"30f88d0fa9e7807ee4cbe89fd274061f810099567d5e68fa829277d7d27ba708","src/unix/linux_like/linux/gnu/mod.rs":"c7924db757cf898c78029ad3772e6168ec99dd0dd1534df4132f8fe9717afed7","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3dc8b1980062117edd7bdfdf2279065737f8cdcdcb883f57f23f27a1d0bbb8b2","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","
src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"7b3fb85a869e00aae3f6af9c36f82f9c70bf8c2b9cccbd931b923602846ea42c","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad838158
75edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"243e32b93641df7a77f970a32c0fb8e4fd4a13720e54e0e42a9da321fd169798","src/unix/linux_like/linux/no_align.rs":"c81ccd1942295d423b43a55b4aa19633c2096fb93bb381a6a29acb93e85aab07","src/unix/linux_like/mod.rs":"e2d60b008a30f2d866be2da6372fe8390e246572d8344447615155f642016882","src/unix/mod.rs":"3196eb15b4f9fa88839f401ee5a8a06875f7da7f244e73323f3c4ca7fb5007b1","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"8ab989
db6b21fee81a694c9f9f89014f8e78870d0541368527483c90f07542a7","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"89c31827cf348e9a7af387f9e708fc834d04da36cad415d3957d2faa70f2fcbe","src/unix/solarish/compat.rs":"d62a5d3b5bd6adc998cb9bb817a622ef9ec666235bb237bd0f13f8e6a94de576","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"ac1d11b1d51649ca1f156d2554951acc2204622bad1e0823cde24328c5fe60aa","src/unix/solarish/solaris.rs":"6000d322ee9f691f38a2cd89b2b8838e51f64c01584143924962b0c598e0985c","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec725195
7315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"18d6c2628ca458ba75e7
43bce75bda6614de99606af4e2e62daf2440d2878f18","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"79077f518d234baf6cb76cb742153d174b3ddd43c6eda9238ebb053e08f9f9c7","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb1
81d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"486a00bafb5b6bf0538c4d984dab021835295c431cb2ceb7a9a74b499f78ade6","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"053c4d3d99c6a8b2fba4df0f8c7266cdd9fbbaa6bddc50cd6f747bef1ff59da9","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10"}
-\ No newline at end of file
-+{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"128aa804901aaf7c386262cfbba894041bf1b109232d69c3e8b6b01df0a67dd1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"52f1027a072c02e6e9e1f3d9630ec24e4d57507399c6363afcbcceaa106d152b","build.rs":"ab351d7171b14f8032948e843841ebe8518ed95eb1abf0b1e689700c7cef4bf5","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75
fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"61502b3d124759c7c1bae294c1662036a96718fb3bd329cfa2f12e1c61ac10ad","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"2c276c0b8441855978c1c5f3b19131bf36e51921bc048fcd22a033d33cb6cc54","src/macros.rs":"83aed048c5053300345fca843b148928b91ed444188c479315
ff6bcabaa0c4e9","src/psp.rs":"a93741ac38660e548eb41b58df39da39944e5c04280a7b09e0be758e79942549","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"19c8598b72272cc61d7f6a05b7fec78958ce86b11d0f5a655e1e58da0bc2af44","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"ae5e8e6b0f610ec015dfcc2928609037d7ea7b94570c72bcc5bdd588424c6259","src/unix/bsd/freebsdlike/dragonfly/mod.rs"
:"0e41b6202c7670ce27201095fc1a2826c9e9ccbbc751e97ae1568871ea481a62","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"1ed8971b7de3b0435341a9af1366493d0458e4a00507dd824c4c11f4ce2006af","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/un
ix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"0046a4083f01ad67511427f1ac37168f31bef3be10c849d304d39f98d61c1267","src/unix/bsd/mod.rs":"4acdbc0148b672fe015ddd7cae952e5d77691df6941a20f8ca40fd996e6a37dd","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"16a9036b6a8b373cdf0576ae99c95430f3f111b6be906a1e1ecff8047e178a86","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"e
e7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"a2938e72d1c6e3f32fb51e896b63abd0d79e1e360dc53f9254fdac82b21206b9","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b474450
0d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"29863051c296eeb22e7f00a266d6632b6a886b9a791f128e3c554e96213c3a16","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"fb7e14d0f46ffaa989b5ab68c85184efe6aa04b5381e46866299b1f3258ddce3","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"
2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"d414f682fd0d138d440300dc53c6b8b069730e19230dabd4c01173c4578c42b5","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"55fb89f5a965a4ad81ee4d02498c32aaed69e6047ce708c2329a602171862a76","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"dde64
8468764a5deef5566b8016290150acf50ee6a0f8c0678cb2078658bc2fa","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"6d9ba242111c7be8173b7a7b8cf8c863ba23d839edc9d026c0fd37a4b64460b4","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"e2d2e51fea73210d9705b7eaa37de8baa7152b71ae3a10a316c277345c529b5c","src/unix/linux_like/linux/gnu/b32/mod.rs":"e224551fa50be726bc8a559da32a96294b18743fb5a5b67cdbee4bb6a9eeb796","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"39aae80d2c4ffa845592e16c0a6c910017de19e2b15c1e507c4df10e79ce3e38","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/lin
ux/gnu/b32/sparc/mod.rs":"3b4dd40b288788740d2b030171b21f9d0b076ce26d88e0ff62f5d87f09e7c787","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"927d1bd8cb2f053549fc5acfeb1315b7f80b35d7a1904cd76e99651ff32b141e","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"17e9cd23a14bd19700c05a154568fff5897788c0ae151c21dd3bba67aac829d9","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"0b5d94f3a2361742b6dd9eb3f543ddf675d3f70dab3402ad179faa6ddaae2218","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc7
8a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"2f279eb268c0aca9a6bd9b4c84139799cd039a64ca1cd2ded68b04c63397be1b","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"bb01828300f02c11c27689522454439d0d02f22d738df88a97367dc87eecf868","src/unix/linux_like/linux/gnu/b64/s390x.rs":"9c449b64b11cbf55d453b324cf9475acb3253f85cb9692f9873b777ed8978ff4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"a2667a09e526878683fafa02474f81fbc212d861ceeabade17b0ff4d6d49ff9d","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"c1862036556262f076eda2008470b8a351b9c371d70664f54387c46890e8cd18","src/unix/linux_like/
linux/gnu/b64/x86_64/x32.rs":"30f88d0fa9e7807ee4cbe89fd274061f810099567d5e68fa829277d7d27ba708","src/unix/linux_like/linux/gnu/mod.rs":"c7924db757cf898c78029ad3772e6168ec99dd0dd1534df4132f8fe9717afed7","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3dc8b1980062117edd7bdfdf2279065737f8cdcdcb883f57f23f27a1d0bbb8b2","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","
src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"7b3fb85a869e00aae3f6af9c36f82f9c70bf8c2b9cccbd931b923602846ea42c","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad838158
75edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"243e32b93641df7a77f970a32c0fb8e4fd4a13720e54e0e42a9da321fd169798","src/unix/linux_like/linux/no_align.rs":"c81ccd1942295d423b43a55b4aa19633c2096fb93bb381a6a29acb93e85aab07","src/unix/linux_like/mod.rs":"e2d60b008a30f2d866be2da6372fe8390e246572d8344447615155f642016882","src/unix/mod.rs":"c34d511e9bdf7504d4c30d6b60c7364085b3fc6feeacfac2ee92267d3c42fd21","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"8ab989
db6b21fee81a694c9f9f89014f8e78870d0541368527483c90f07542a7","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"89c31827cf348e9a7af387f9e708fc834d04da36cad415d3957d2faa70f2fcbe","src/unix/solarish/compat.rs":"d62a5d3b5bd6adc998cb9bb817a622ef9ec666235bb237bd0f13f8e6a94de576","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"ac1d11b1d51649ca1f156d2554951acc2204622bad1e0823cde24328c5fe60aa","src/unix/solarish/solaris.rs":"6000d322ee9f691f38a2cd89b2b8838e51f64c01584143924962b0c598e0985c","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec725195
7315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"18d6c2628ca458ba75e7
43bce75bda6614de99606af4e2e62daf2440d2878f18","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"79077f518d234baf6cb76cb742153d174b3ddd43c6eda9238ebb053e08f9f9c7","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb1
81d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"486a00bafb5b6bf0538c4d984dab021835295c431cb2ceb7a9a74b499f78ade6","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"053c4d3d99c6a8b2fba4df0f8c7266cdd9fbbaa6bddc50cd6f747bef1ff59da9","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10"}
-\ No newline at end of file
diff --git a/dev-lang/rust/rust-1.47.0-r1.ebuild b/dev-lang/rust/rust-1.47.0-r1.ebuild
index 577ef66..fb3b774 100644
--- a/dev-lang/rust/rust-1.47.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.47.0-r1.ebuild
@@ -29,6 +29,8 @@ SRC_URI="
ppc64? ( $(rust_arch_uri powerpc64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
x86? ( $(rust_arch_uri i686-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
)
+ http://dev.gentoo.org/~anarchy/dist/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
+ http://dev.gentoo.org/~anarchy/dist/0030-libc-linkage.patch
"
# keep in sync with llvm ebuild of the same version as bundled one.
@@ -127,7 +129,7 @@ PATCHES=(
"${FILESDIR}"/0003-Fix-linking-to-zlib-when-cross-compiling.patch
"${FILESDIR}"/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
"${FILESDIR}"/0005-Use-static-native-libraries-when-linking-static-exec.patch
- "${FILESDIR}"/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
+ "${DISTDIR}"/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
"${FILESDIR}"/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
"${FILESDIR}"/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
"${FILESDIR}"/0009-test-failed-doctest-output-Fix-normalization.patch
@@ -137,7 +139,7 @@ PATCHES=(
"${FILESDIR}"/0013-Link-stage-2-tools-dynamically-to-libstd.patch
"${FILESDIR}"/0014-Move-debugger-scripts-to-usr-share-rust.patch
"${FILESDIR}"/0015-Add-gentoo-target-specs.patch
- "${FILESDIR}"/0030-libc-linkage.patch
+ "${DISTDIR}"/0030-libc-linkage.patch
"${FILESDIR}"/0040-rls-atomics.patch
"${FILESDIR}"/0050-llvm.patch
"${FILESDIR}"/0051-llvm-powerpc-elfv2.patch
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] proj/musl:master commit in: dev-lang/rust/files/, dev-lang/rust/
@ 2021-06-07 16:48 Jory Pratt
0 siblings, 0 replies; 5+ messages in thread
From: Jory Pratt @ 2021-06-07 16:48 UTC (permalink / raw
To: gentoo-commits
commit: 843a0759b960a877cf6bff270220128160543ecd
Author: Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 7 16:48:18 2021 +0000
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Mon Jun 7 16:48:18 2021 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=843a0759
dev-lang/rust: Wait for new release from smaeul
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
dev-lang/rust/Manifest | 9 -
.../0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch | 26 -
dev-lang/rust/files/0002-Fix-LLVM-build.patch | 25 -
...-Fix-linking-to-zlib-when-cross-compiling.patch | 34 --
...-Fix-rustdoc-when-cross-compiling-on-musl.patch | 45 --
...native-libraries-when-linking-static-exec.patch | 55 ---
...-Prefer-libgcc_eh-over-libunwind-for-musl.patch | 38 --
...nk-libssp_nonshared.a-on-all-musl-targets.patch | 29 --
...t-failed-doctest-output-Fix-normalization.patch | 36 --
...t-crates-are-unstable-Fix-test-when-rpath.patch | 25 -
...-extern-for-plugins-Don-t-assume-multilib.patch | 30 --
...12-Ignore-broken-and-non-applicable-tests.patch | 75 ---
...-Link-stage-2-tools-dynamically-to-libstd.patch | 25 -
...4-Move-debugger-scripts-to-usr-share-rust.patch | 69 ---
.../rust/files/0015-Add-gentoo-target-specs.patch | 175 -------
dev-lang/rust/files/0040-rls-atomics.patch | 58 ---
dev-lang/rust/files/0050-llvm.patch | 18 -
dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch | 12 -
...46.0-don-t-create-prefix-at-time-of-check.patch | 31 --
dev-lang/rust/files/1.47.0-libressl.patch | 44 --
dev-lang/rust/metadata.xml | 19 -
dev-lang/rust/rust-1.47.0-r1.ebuild | 533 ---------------------
22 files changed, 1411 deletions(-)
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
deleted file mode 100644
index a958eb9..0000000
--- a/dev-lang/rust/Manifest
+++ /dev/null
@@ -1,9 +0,0 @@
-DIST 0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch 21313 BLAKE2B 0b73d172d01507cc30f29766c605dc2b771f4bd555c337e11a99ba78abd912d9dc4179f5ca07f5346e97dead7b39964832a2c33610ee1735315141bf6f0e0004 SHA512 001d0b99507cd6c25713f0a6ea6bc4b9fb762083b84085f4abb8c3544f1c2d153a1d2c35e03969d2d789f4b6b84d6dae92dd0b5d9d73fea5eb75aa266c31a05b
-DIST 0030-libc-linkage.patch 37284 BLAKE2B b1e9f36bea6c6bba46b65967e49d3f0e0084da3a02a3a253d425a6e1534e7362b91a04bb975f08d347a57e16f4fef4662cb8c0cbe0821e1cdb90ab442276ef77 SHA512 8818c4ef45ddc537ba6930f83d503beffad8d80e6f51d3d1742ac4c5943f12b91951182aa06fd90cdbf8cb52b43c4fa35ed8ec3176f7ab94261b655b27fcb789
-DIST rust-1.46.0-aarch64-gentoo-linux-musl.tar.xz 101117048 BLAKE2B ef9fafab60b24d5896f1d2c66718945946c0178c3434b1993add6056e3c88fab7d51923942d398bf2d0fbc0a1a9220dcef37ac289a421c3a1f6bcc6b7c755a46 SHA512 764f909849f91d3cbd071d96d6947b08b45f08b3bbd523fcea4310abc807957b0bb3b696e955182ab888c400b6c830442610d3bc510583afe0c910141514d438
-DIST rust-1.46.0-armv7a-unknown-linux-musleabihf.tar.xz 100547468 BLAKE2B 798183dee50e9e35ed2be6d21d89e49265a0764dde904409a5a52a6b0f9856b8ae566daf7651b2071c996930ca9079e39fe246cdce80eea7dc5bee5ce0b3802e SHA512 ad164673320c33a49abfd9e571291beb2394f35b03d913ab70d9da27d38427440efe87a17e0d15b4021c4355be812ab5fe5c02f9ab8f8d6d3d799a872a02ac0f
-DIST rust-1.46.0-i686-gentoo-linux-musl.tar.xz 113552128 BLAKE2B 994911aa66c8f4e6e36b3037febdf2fe1586f478a127604988858fb6bead13da2e46e6d4e2d91496ca399402db00c153fe0e77a788a7f13847ba0ebfd90dff86 SHA512 c00c7992914c4a02827e3011cad59e454f5778f2fc6224928fb1fdf5f39752474473a41273700350b54de6d940ba0964a77a341a435e8ea8f7b9750f64454dd0
-DIST rust-1.46.0-powerpc-gentoo-linux-musl.tar.xz 110418132 BLAKE2B a661d32c68f6b51ab4d023799b4d6b5246062fc34f09967b53354b765f41f3f8c354df616d9085fe1f8e29610feb676fe19570b01e2d8f34a6603fd254cbfb1b SHA512 45c76e6fd031e76d49c479d37bf5a3c691bc338f169b702645978a7eb21b912314e7e448004abc49c07068dec8d6a4933370258ded7653622190df15d34899db
-DIST rust-1.46.0-powerpc64-gentoo-linux-musl.tar.xz 94308552 BLAKE2B 1efc31c94e956180e4ad450e1d9f30996941b2754a163c57b35b1de9eda4abae80a3e90565c8170a3127fb7a95e91d08f6559c1e13e29b4cb14101dc457621ea SHA512 ed798d1d3c4353e469d3a94b25e057849ebd9bc03a8857478f6daa0b9b52dc4b026f07d637d60f9df67a12f06ee1f80c846c10871a16477a6b8ab94a93d2c3e8
-DIST rust-1.46.0-x86_64-gentoo-linux-musl.tar.xz 109962300 BLAKE2B d39f304b23e2d0c1c3729e9019608a283116db3199c8c1cc7610269c0b31de0fde782d7a3ea0f05a2be4676815556902b98627ddf57a18783f291a489ad1aa47 SHA512 2efbfbf33e1f5ef85e449eeac4a57cb6b4cc54eec33809ab211fdb84be3c03bcd5838d0ff5669c1991564e2a553c73aec0f2e7eca8912b59050f92a913eefd2c
-DIST rustc-1.47.0-src.tar.xz 104143736 BLAKE2B 0454094dde35275488046826da87655e51bf0795481d6d08fd70d644bfc12481bca8641166106ef32f20494906025244715b16ff21a1c023f4bd2818aab42521 SHA512 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9
diff --git a/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
deleted file mode 100644
index 40bf4dc..0000000
--- a/dev-lang/rust/files/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ba948554d0241f52fdc762abf21c101445d1fdc4 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Wed, 10 Jan 2018 13:36:41 -0600
-Subject: [PATCH 01/15] Don't pass CFLAGS to the C++ compiler
-
----
- src/bootstrap/builder.rs | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 6446fa7550d..29fec3a5717 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1244,8 +1244,7 @@ impl<'a> Builder<'a> {
- if let Ok(cxx) = self.cxx(target) {
- let cxx = ccacheify(&cxx);
- cargo
-- .env(format!("CXX_{}", target.triple), &cxx)
-- .env(format!("CXXFLAGS_{}", target.triple), cflags);
-+ .env(format!("CXX_{}", target.triple), &cxx);
- }
- }
-
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0002-Fix-LLVM-build.patch b/dev-lang/rust/files/0002-Fix-LLVM-build.patch
deleted file mode 100644
index c04d445..0000000
--- a/dev-lang/rust/files/0002-Fix-LLVM-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From def3b8596d3d0bccff07f2524b96d2f490b9aa82 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Fri, 8 Sep 2017 00:04:29 -0500
-Subject: [PATCH 02/15] Fix LLVM build
-
----
- src/bootstrap/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index a42ee11bd6f..77316c734b8 100644
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -798,7 +798,7 @@ impl Build {
- .args()
- .iter()
- .map(|s| s.to_string_lossy().into_owned())
-- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-+ .filter(|s| !s.starts_with("-O") && !s.starts_with("/O") && !s.starts_with("-static"))
- .collect::<Vec<String>>();
-
- // If we're compiling on macOS then we add a few unconditional flags
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch b/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch
deleted file mode 100644
index 4c9f06c..0000000
--- a/dev-lang/rust/files/0003-Fix-linking-to-zlib-when-cross-compiling.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 466ffdcb0b132ce135242180e66097ba178122b9 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 1 Nov 2020 20:13:23 -0600
-Subject: [PATCH 03/15] Fix linking to zlib when cross-compiling
-
----
- src/librustc_llvm/build.rs | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/librustc_llvm/build.rs b/src/librustc_llvm/build.rs
-index 25c0b40c495..485cd05ad63 100644
---- a/src/librustc_llvm/build.rs
-+++ b/src/librustc_llvm/build.rs
-@@ -192,14 +192,13 @@ fn main() {
- // of llvm-config, not the target that we're attempting to link.
- let mut cmd = Command::new(&llvm_config);
- cmd.arg(llvm_link_arg).arg("--libs");
-+ cmd.arg("--system-libs");
-+ cmd.args(&components);
-
-- if !is_crossed {
-- cmd.arg("--system-libs");
-- } else if target.contains("windows-gnu") {
-+ if target.contains("windows-gnu") {
- println!("cargo:rustc-link-lib=shell32");
- println!("cargo:rustc-link-lib=uuid");
- }
-- cmd.args(&components);
-
- for lib in output(&mut cmd).split_whitespace() {
- let name = if lib.starts_with("-l") {
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch b/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
deleted file mode 100644
index c6a7d79..0000000
--- a/dev-lang/rust/files/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From db1328ce566169bf174beb82648eb9b3f075adee Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sat, 2 Dec 2017 17:25:44 -0600
-Subject: [PATCH 04/15] Fix rustdoc when cross-compiling on musl
-
-musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
----
- src/bootstrap/bin/rustdoc.rs | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
-index ab846adf942..bb4cbb038f3 100644
---- a/src/bootstrap/bin/rustdoc.rs
-+++ b/src/bootstrap/bin/rustdoc.rs
-@@ -21,9 +21,6 @@ fn main() {
- Err(_) => 0,
- };
-
-- let mut dylib_path = bootstrap::util::dylib_path();
-- dylib_path.insert(0, PathBuf::from(libdir.clone()));
--
- //FIXME(misdreavus): once stdsimd uses cfg(doc) instead of cfg(dox), remove the `--cfg dox`
- //arguments here
- let mut cmd = Command::new(rustdoc);
-@@ -34,7 +31,7 @@ fn main() {
- .arg("dox")
- .arg("--sysroot")
- .arg(&sysroot)
-- .env(bootstrap::util::dylib_path_var(), env::join_paths(&dylib_path).unwrap());
-+ .env(bootstrap::util::dylib_path_var(), PathBuf::from(libdir.clone()));
-
- // Force all crates compiled by this compiler to (a) be unstable and (b)
- // allow the `rustc_private` feature to link to other unstable crates
-@@ -59,7 +56,7 @@ fn main() {
- eprintln!(
- "rustdoc command: {:?}={:?} {:?}",
- bootstrap::util::dylib_path_var(),
-- env::join_paths(&dylib_path).unwrap(),
-+ PathBuf::from(libdir.clone()),
- cmd,
- );
- eprintln!("sysroot: {:?}", sysroot);
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch b/dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch
deleted file mode 100644
index 5d1836d..0000000
--- a/dev-lang/rust/files/0005-Use-static-native-libraries-when-linking-static-exec.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From f108b83c877724fd9f94f087fc529765c9bbdb14 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Fri, 8 Sep 2017 00:05:18 -0500
-Subject: [PATCH 05/15] Use static native libraries when linking static
- executables
-
-On ELF targets like Linux, gcc/ld will create a dynamically-linked
-executable without warning, even when passed `-static`, when asked to
-link to a `.so`. Avoid this confusing and unintended behavior by always
-using the static version of libraries when trying to link static
-executables.
----
- src/librustc_codegen_ssa/back/link.rs | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
-
-diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs
-index bfcf979d125..70bc9d5e980 100644
---- a/src/librustc_codegen_ssa/back/link.rs
-+++ b/src/librustc_codegen_ssa/back/link.rs
-@@ -2057,9 +2057,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
- }
- }
-
--// Link in all of our upstream crates' native dependencies. Remember that
--// all of these upstream native dependencies are all non-static
--// dependencies. We've got two cases then:
-+// Link in all of our upstream crates' native dependencies. We have two cases:
- //
- // 1. The upstream crate is an rlib. In this case we *must* link in the
- // native dependency because the rlib is just an archive.
-@@ -2108,7 +2106,20 @@ fn add_upstream_native_libraries(
- continue;
- }
- match lib.kind {
-- NativeLibKind::Dylib | NativeLibKind::Unspecified => cmd.link_dylib(name),
-+ NativeLibKind::Unspecified => {
-+ // On some targets, like Linux, linking a static executable inhibits using
-+ // dylibs at all. Force native libraries to be static, even if for example
-+ // an upstream rlib was originally linked against a native shared library.
-+ if crate_type == config::CrateType::Executable
-+ && sess.crt_static(Some(crate_type))
-+ && !sess.target.target.options.crt_static_allows_dylibs
-+ {
-+ cmd.link_staticlib(name)
-+ } else {
-+ cmd.link_dylib(name)
-+ }
-+ },
-+ NativeLibKind::Dylib => cmd.link_dylib(name),
- NativeLibKind::Framework => cmd.link_framework(name),
- NativeLibKind::StaticNoBundle => {
- // Link "static-nobundle" native libs only if the crate they originate from
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
deleted file mode 100644
index 3472588..0000000
--- a/dev-lang/rust/files/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 5944a594d6cd422e3ed3a83857b8f84f6920456a Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sat, 9 Sep 2017 00:14:16 -0500
-Subject: [PATCH 07/15] Prefer libgcc_eh over libunwind for musl
-
----
- library/unwind/build.rs | 1 -
- library/unwind/src/lib.rs | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/library/unwind/build.rs b/library/unwind/build.rs
-index ab09a6e324d..2f71e45f95a 100644
---- a/library/unwind/build.rs
-+++ b/library/unwind/build.rs
-@@ -14,7 +14,6 @@ fn main() {
- } else if target.contains("linux") {
- if target.contains("musl") {
- // linking for musl is handled in lib.rs
-- llvm_libunwind::compile();
- } else if !target.contains("android") {
- println!("cargo:rustc-link-lib=gcc_s");
- }
-diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
-index 20a2ca98405..401d2ad9a1c 100644
---- a/library/unwind/src/lib.rs
-+++ b/library/unwind/src/lib.rs
-@@ -38,7 +38,7 @@ cfg_if::cfg_if! {
- }
-
- #[cfg(target_env = "musl")]
--#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
-+#[link(name = "gcc_eh", kind = "static-nobundle", cfg(target_feature = "crt-static"))]
- #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
- extern "C" {}
-
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch b/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
deleted file mode 100644
index 969d4c5..0000000
--- a/dev-lang/rust/files/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d3114d5d4fa3595b9f7158f24807620571951be8 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 3 Nov 2019 17:01:32 -0600
-Subject: [PATCH 08/15] Link libssp_nonshared.a on all musl targets
-
----
- src/librustc_target/spec/linux_musl_base.rs | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
-index c5f5f99a96d..a3f763147fa 100644
---- a/src/librustc_target/spec/linux_musl_base.rs
-+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -1,8 +1,11 @@
--use crate::spec::TargetOptions;
-+use crate::spec::{LinkerFlavor, TargetOptions};
-
- pub fn opts() -> TargetOptions {
- let mut base = super::linux_base::opts();
-
-+ // libssp_nonshared.a is needed for __stack_chk_fail_local when using libc.so
-+ base.post_link_args.insert(LinkerFlavor::Gcc, vec!["-lssp_nonshared".to_string()]);
-+
- // These targets statically link libc by default
- base.crt_static_default = true;
- // These targets allow the user to choose between static and dynamic linking.
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch b/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch
deleted file mode 100644
index 8639b2b..0000000
--- a/dev-lang/rust/files/0009-test-failed-doctest-output-Fix-normalization.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7fd97298080acbe6f69e49a3d5df9eca423b5fe1 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 7 Oct 2019 18:36:28 -0500
-Subject: [PATCH 09/15] test/failed-doctest-output: Fix normalization
-
-Otherwise we get:
-
-1
-2 running 2 tests
-- test $DIR/failed-doctest-output.rs - OtherStruct (line 20) ... FAILED
-- test $DIR/failed-doctest-output.rs - SomeStruct (line 10) ... FAILED
-+ test src/rustc-1.38.0-src/$DIR/failed-doctest-output.rs - OtherStruct (line 20) ... FAILED
-+ test src/rustc-1.38.0-src/$DIR/failed-doctest-output.rs - SomeStruct (line 10) ... FAILED
-5
-6 failures:
-7
----
- src/test/rustdoc-ui/failed-doctest-output.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/test/rustdoc-ui/failed-doctest-output.rs b/src/test/rustdoc-ui/failed-doctest-output.rs
-index fcbd7cabc69..7d19ace7487 100644
---- a/src/test/rustdoc-ui/failed-doctest-output.rs
-+++ b/src/test/rustdoc-ui/failed-doctest-output.rs
-@@ -4,7 +4,7 @@
-
- // compile-flags:--test
- // rustc-env:RUST_BACKTRACE=0
--// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
-+// normalize-stdout-test: "[[:graph:]]*src/test/rustdoc-ui" -> "$$DIR"
- // failure-status: 101
-
- // doctest fails at runtime
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
deleted file mode 100644
index 82772a1..0000000
--- a/dev-lang/rust/files/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 415814d100e85eb031254af528246e44d3f04128 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 17 Sep 2018 01:32:20 +0000
-Subject: [PATCH 10/15] test/sysroot-crates-are-unstable: Fix test when rpath
- is disabled
-
-Without this environment var, the test can't run rustc to find
-the sysroot path.
----
- .../run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 1e267fb9576..30c33c5c13d 100644
---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-@@ -1,2 +1,4 @@
-+-include ../tools.mk
-+
- all:
-- '$(PYTHON)' test.py
-+ env '$(HOST_RPATH_ENV)' '$(PYTHON)' test.py
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
deleted file mode 100644
index 6f5fa8b..0000000
--- a/dev-lang/rust/files/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 815936fbf7f721ddfc35e6048457dbc84132f87a Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sat, 6 Oct 2018 04:01:48 +0000
-Subject: [PATCH 11/15] test/use-extern-for-plugins: Don't assume multilib
-
----
- src/test/run-make-fulldeps/use-extern-for-plugins/Makefile | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-index 838b1a2719b..94fa9f6d067 100644
---- a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-+++ b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-@@ -4,12 +4,7 @@
- # ignore-openbsd
- # ignore-sunos
-
--HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
--ifeq ($(findstring i686,$(HOST)),i686)
--TARGET := $(subst i686,x86_64,$(HOST))
--else
--TARGET := $(subst x86_64,i686,$(HOST))
--endif
-+TARGET := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
-
- all:
- $(RUSTC) foo.rs -C extra-filename=-host
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch
deleted file mode 100644
index 8569293..0000000
--- a/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 8db9fc72afc7864cb7e5a8ff99f9e4dd04ea82ca Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:38:48 +0000
-Subject: [PATCH 12/15] Ignore broken and non-applicable tests
-
-c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
-env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
-long-linker-command-lines: takes >10 minutes to run (but still passes)
-sparc-struct-abi: no sparc target
-sysroot-crates-are-unstable: can't run rustc without RPATH
----
- src/test/codegen/sparc-struct-abi.rs | 1 +
- src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
- src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
- src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
- src/test/ui/env-funky-keys.rs | 1 +
- 5 files changed, 8 insertions(+)
-
-diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
-index 78e5b14a212..6f93e93286b 100644
---- a/src/test/codegen/sparc-struct-abi.rs
-+++ b/src/test/codegen/sparc-struct-abi.rs
-@@ -4,6 +4,7 @@
-
- // only-sparc64
- // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
-+// ignore-test
- #![feature(no_core, lang_items)]
- #![no_core]
-
-diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-index f124ca2ab61..363b18f0985 100644
---- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-@@ -1,3 +1,5 @@
-+# ignore-aarch64
-+
- -include ../tools.mk
-
- all:
-diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-index 5876fbc94bc..5f167ece1a2 100644
---- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-@@ -1,3 +1,5 @@
-+# ignore-test
-+
- -include ../tools.mk
-
- all:
-diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 30c33c5c13d..d733bb1c557 100644
---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-@@ -1,3 +1,5 @@
-+# ignore-test
-+
- -include ../tools.mk
-
- all:
-diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
-index c5c824ac58d..f3fe047a79c 100644
---- a/src/test/ui/env-funky-keys.rs
-+++ b/src/test/ui/env-funky-keys.rs
-@@ -1,6 +1,7 @@
- // run-pass
- // Ignore this test on Android, because it segfaults there.
-
-+// ignore-test
- // ignore-android
- // ignore-windows
- // ignore-cloudabi no execve
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch b/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch
deleted file mode 100644
index bd16e6c..0000000
--- a/dev-lang/rust/files/0013-Link-stage-2-tools-dynamically-to-libstd.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b9369ec42bc76e451dfb44e157e81166abcb3c10 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 24 Sep 2018 23:42:23 +0000
-Subject: [PATCH 13/15] Link stage 2 tools dynamically to libstd
-
----
- src/bootstrap/builder.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 29fec3a5717..15c7729b4c2 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1357,7 +1357,7 @@ impl<'a> Builder<'a> {
- // When we build Rust dylibs they're all intended for intermediate
- // usage, so make sure we pass the -Cprefer-dynamic flag instead of
- // linking all deps statically into the dylib.
-- if let Mode::Std | Mode::Rustc | Mode::Codegen = mode {
-+ if let Mode::Std | Mode::Rustc | Mode::Codegen | Mode::ToolRustc | Mode::ToolStd = mode {
- rustflags.arg("-Cprefer-dynamic");
- }
-
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch b/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch
deleted file mode 100644
index ca1a1b4..0000000
--- a/dev-lang/rust/files/0014-Move-debugger-scripts-to-usr-share-rust.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 22b25a4088a3d09bb569b23dc282edb77df11ab4 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 17 Sep 2018 02:09:10 +0000
-Subject: [PATCH 14/15] Move debugger scripts to /usr/share/rust
-
----
- src/bootstrap/dist.rs | 2 +-
- src/etc/rust-gdb | 2 +-
- src/etc/rust-gdbgui | 2 +-
- src/etc/rust-lldb | 4 ++--
- 4 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index d021feafbe4..f0f5cb8169a 100644
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -614,7 +614,7 @@ impl Step for DebuggerScripts {
- fn run(self, builder: &Builder<'_>) {
- let host = self.host;
- let sysroot = self.sysroot;
-- let dst = sysroot.join("lib/rustlib/etc");
-+ let dst = sysroot.join("share/rust");
- t!(fs::create_dir_all(&dst));
- let cp_debugger_script = |file: &str| {
- builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644);
-diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
-index b950cea79ed..559bfe3f1f9 100755
---- a/src/etc/rust-gdb
-+++ b/src/etc/rust-gdb
-@@ -12,7 +12,7 @@ fi
-
- # Find out where the pretty printer Python module is
- RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
--GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-+GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
-
- # Run GDB with the additional arguments that load the pretty printers
- # Set the environment variable `RUST_GDB` to overwrite the call to a
-diff --git a/src/etc/rust-gdbgui b/src/etc/rust-gdbgui
-index 9744913b686..8722acdcc52 100755
---- a/src/etc/rust-gdbgui
-+++ b/src/etc/rust-gdbgui
-@@ -41,7 +41,7 @@ fi
-
- # Find out where the pretty printer Python module is
- RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
--GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-+GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust"
-
- # Set the environment variable `RUST_GDB` to overwrite the call to a
- # different/specific command (defaults to `gdb`).
-diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
-index bce72f1bad6..8abb0124527 100755
---- a/src/etc/rust-lldb
-+++ b/src/etc/rust-lldb
-@@ -30,8 +30,8 @@ EOF
- fi
- fi
-
--script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_lookup.py\""
--commands_file="$RUSTC_SYSROOT/lib/rustlib/etc/lldb_commands"
-+script_import="command script import \"$RUSTC_SYSROOT/share/rust/lldb_lookup.py\""
-+commands_file="$RUSTC_SYSROOT/share/rust/lldb_commands"
-
- # Call LLDB with the commands added to the argument list
- exec "$lldb" --one-line-before-file "$script_import" --source-before-file "$commands_file" "$@"
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0015-Add-gentoo-target-specs.patch b/dev-lang/rust/files/0015-Add-gentoo-target-specs.patch
deleted file mode 100644
index 61a19b9..0000000
--- a/dev-lang/rust/files/0015-Add-gentoo-target-specs.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 037c877646effd72dbf82f3eb8e5ed41e9f5e89d Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 17 Sep 2018 02:29:06 +0000
-Subject: [PATCH 15/15] Add gentoo target specs
-
----
- src/librustc_target/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/arm_gentoo_linux_musleabi.rs | 11 +++++++++++
- .../spec/armv7a_gentoo_linux_musleabihf.rs | 11 +++++++++++
- src/librustc_target/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/mod.rs | 11 ++++++++++-
- .../spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++
- src/librustc_target/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
- 8 files changed, 87 insertions(+), 1 deletion(-)
- create mode 100644 src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
- create mode 100644 src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
- create mode 100644 src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
- create mode 100644 src/librustc_target/spec/i686_gentoo_linux_musl.rs
- create mode 100644 src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
- create mode 100644 src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
- create mode 100644 src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
-
-diff --git a/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
-new file mode 100644
-index 00000000000..420fe7cde70
---- /dev/null
-+++ b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::aarch64_unknown_linux_musl::target()?;
-+
-+ base.llvm_target = "aarch64-gentoo-linux-musl".to_string();
-+ base.target_vendor = "gentoo".to_string();
-+ base.options.crt_static_default = false;
-+
-+ Ok(base)
-+}
-diff --git a/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs b/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
-new file mode 100644
-index 00000000000..d47ca841647
---- /dev/null
-+++ b/src/librustc_target/spec/arm_gentoo_linux_musleabi.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::arm_unknown_linux_musleabi::target()?;
-+
-+ base.llvm_target = "arm-gentoo-linux-musleabi".to_string();
-+ base.target_vendor = "gentoo".to_string();
-+ base.options.crt_static_default = false;
-+
-+ Ok(base)
-+}
-diff --git a/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs b/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
-new file mode 100644
-index 00000000000..f5c85855c18
---- /dev/null
-+++ b/src/librustc_target/spec/armv7a_gentoo_linux_musleabihf.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::armv7_unknown_linux_musleabihf::target()?;
-+
-+ base.llvm_target = "armv7a-gentoo-linux-musleabihf".to_string();
-+ base.target_vendor = "gentoo".to_string();
-+ base.options.crt_static_default = false;
-+
-+ Ok(base)
-+}
-diff --git a/src/librustc_target/spec/i686_gentoo_linux_musl.rs b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
-new file mode 100644
-index 00000000000..1cd39cd76af
---- /dev/null
-+++ b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::i686_unknown_linux_musl::target()?;
-+
-+ base.llvm_target = "i686-gentoo-linux-musl".to_string();
-+ base.target_vendor = "gentoo".to_string();
-+ base.options.crt_static_default = false;
-+
-+ Ok(base)
-+}
-diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
-index fa29ff3f8d8..a711417e7c1 100644
---- a/src/librustc_target/spec/mod.rs
-+++ b/src/librustc_target/spec/mod.rs
-@@ -489,7 +489,17 @@ macro_rules! supported_targets {
- };
- }
-
-+mod arm_unknown_linux_musleabi;
-+
- supported_targets! {
-+ ("aarch64-gentoo-linux-musl", aarch64_gentoo_linux_musl),
-+ ("arm-unknown-linux-musleabi", arm_gentoo_linux_musleabi),
-+ ("armv7a-unknown-linux-musleabihf", armv7a_gentoo_linux_musleabihf),
-+ ("i686-gentoo-linux-musl", i686_gentoo_linux_musl),
-+ ("powerpc-gentoo-linux-musl", powerpc_gentoo_linux_musl),
-+ ("powerpc64-gentoo-linux-musl", powerpc64_gentoo_linux_musl),
-+ ("x86_64-gentoo-linux-musl", x86_64_gentoo_linux_musl),
-+
- ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu),
- ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
- ("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
-@@ -514,7 +524,6 @@ supported_targets! {
- ("sparc64-unknown-linux-gnu", sparc64_unknown_linux_gnu),
- ("arm-unknown-linux-gnueabi", arm_unknown_linux_gnueabi),
- ("arm-unknown-linux-gnueabihf", arm_unknown_linux_gnueabihf),
-- ("arm-unknown-linux-musleabi", arm_unknown_linux_musleabi),
- ("arm-unknown-linux-musleabihf", arm_unknown_linux_musleabihf),
- ("armv4t-unknown-linux-gnueabi", armv4t_unknown_linux_gnueabi),
- ("armv5te-unknown-linux-gnueabi", armv5te_unknown_linux_gnueabi),
-diff --git a/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
-new file mode 100644
-index 00000000000..e840bb27bbf
---- /dev/null
-+++ b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::powerpc64_unknown_linux_musl::target()?;
-+
-+ base.llvm_target = "powerpc64-gentoo-linux-musl".to_string();
-+ base.target_vendor = "gentoo".to_string();
-+ base.options.crt_static_default = false;
-+
-+ Ok(base)
-+}
-diff --git a/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
-new file mode 100644
-index 00000000000..a623ffed53a
---- /dev/null
-+++ b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::powerpc_unknown_linux_musl::target()?;
-+
-+ base.llvm_target = "powerpc-gentoo-linux-musl".to_string();
-+ base.target_vendor = "gentoo".to_string();
-+ base.options.crt_static_default = false;
-+
-+ Ok(base)
-+}
-diff --git a/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
-new file mode 100644
-index 00000000000..f33047358b5
---- /dev/null
-+++ b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
-@@ -0,0 +1,11 @@
-+use crate::spec::TargetResult;
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::x86_64_unknown_linux_musl::target()?;
-+
-+ base.llvm_target = "x86_64-gentoo-linux-musl".to_string();
-+ base.target_vendor = "gentoo".to_string();
-+ base.options.crt_static_default = false;
-+
-+ Ok(base)
-+}
---
-2.26.2
-
diff --git a/dev-lang/rust/files/0040-rls-atomics.patch b/dev-lang/rust/files/0040-rls-atomics.patch
deleted file mode 100644
index d9aedb9..0000000
--- a/dev-lang/rust/files/0040-rls-atomics.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
-+++ rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
-@@ -7,7 +7,7 @@ use crate::config::Config;
- use crate::server::{self, LsService, Notification, Request, RequestId};
- use rls_analysis::{AnalysisHost, Target};
- use rls_vfs::Vfs;
--use std::sync::atomic::{AtomicU64, Ordering};
-+use std::sync::atomic::{AtomicU32, Ordering};
-
- use lsp_types::{
- ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem,
-@@ -313,8 +313,8 @@ fn url(file_name: &str) -> Url {
- }
-
- fn next_id() -> RequestId {
-- static ID: AtomicU64 = AtomicU64::new(1);
-- RequestId::Num(ID.fetch_add(1, Ordering::SeqCst))
-+ static ID: AtomicU32 = AtomicU32::new(1);
-+ RequestId::Num(ID.fetch_add(1, Ordering::SeqCst).into())
- }
-
- // Custom reader and output for the RLS server.
---- rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
-+++ rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
-@@ -7,7 +7,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
-
- use std::fmt;
- use std::io::{self, BufRead, Write};
--use std::sync::atomic::{AtomicU64, Ordering};
-+use std::sync::atomic::{AtomicU32, Ordering};
- use std::sync::Arc;
-
- use jsonrpc_core::{self as jsonrpc, response, version, Id};
-@@ -171,13 +171,13 @@ pub trait Output: Sync + Send + Clone + 'static {
- /// An output that sends notifications and responses on `stdout`.
- #[derive(Clone)]
- pub(super) struct StdioOutput {
-- next_id: Arc<AtomicU64>,
-+ next_id: Arc<AtomicU32>,
- }
-
- impl StdioOutput {
- /// Constructs a new `stdout` output.
- pub(crate) fn new() -> StdioOutput {
-- StdioOutput { next_id: Arc::new(AtomicU64::new(1)) }
-+ StdioOutput { next_id: Arc::new(AtomicU32::new(1).into()) }
- }
- }
-
-@@ -194,7 +194,7 @@ impl Output for StdioOutput {
- }
-
- fn provide_id(&self) -> RequestId {
-- RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst))
-+ RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst).into())
- }
- }
-
diff --git a/dev-lang/rust/files/0050-llvm.patch b/dev-lang/rust/files/0050-llvm.patch
deleted file mode 100644
index f1899f7..0000000
--- a/dev-lang/rust/files/0050-llvm.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- rustc-1.38.0-src/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
-+++ rustc-1.38.0-src/src/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def
-@@ -27,6 +27,15 @@
- #define TLI_DEFINE_STRING_INTERNAL(string_repr) string_repr,
- #endif
-
-+// avoid name conflicts with musl-libc
-+#undef fopen64
-+#undef fseeko64
-+#undef ftello64
-+#undef fstat64
-+#undef lstat64
-+#undef stat64
-+#undef tmpfile64
-+
- /// void *new(unsigned int);
- TLI_DEFINE_ENUM_INTERNAL(msvc_new_int)
- TLI_DEFINE_STRING_INTERNAL("??2@YAPAXI@Z")
diff --git a/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch b/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch
deleted file mode 100644
index b5ee930..0000000
--- a/dev-lang/rust/files/0051-llvm-powerpc-elfv2.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- rustc-1.46.0-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-+++ rustc-1.46.0-src/src/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-@@ -215,6 +215,9 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
- case Triple::ppc64le:
- return PPCTargetMachine::PPC_ABI_ELFv2;
- case Triple::ppc64:
-+ // musl uses the ELFv2 ABI on both endians.
-+ if (TT.isMusl())
-+ return PPCTargetMachine::PPC_ABI_ELFv2;
- return PPCTargetMachine::PPC_ABI_ELFv1;
- default:
- return PPCTargetMachine::PPC_ABI_UNKNOWN;
diff --git a/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch b/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
deleted file mode 100644
index 9064a52..0000000
--- a/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6b31232a9d32529e30765108f30365ac48587ce6 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Thu, 8 Oct 2020 15:48:33 -0700
-Subject: [PATCH] don't create prefix at time of check
-
----
- src/bootstrap/install.rs | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
-index d9ee3bc..c5da9ce 100644
---- a/src/bootstrap/install.rs
-+++ b/src/bootstrap/install.rs
-@@ -73,12 +73,8 @@ fn install_sh(
- let docdir_default = datadir_default.join("doc/rust");
- let libdir_default = PathBuf::from("lib");
- let mandir_default = datadir_default.join("man");
-- let prefix = builder.config.prefix.as_ref().map_or(prefix_default, |p| {
-- fs::create_dir_all(p)
-- .unwrap_or_else(|err| panic!("could not create {}: {}", p.display(), err));
-- fs::canonicalize(p)
-- .unwrap_or_else(|err| panic!("could not canonicalize {}: {}", p.display(), err))
-- });
-+
-+ let prefix = builder.config.prefix.as_ref().unwrap_or(&prefix_default);
- let sysconfdir = builder.config.sysconfdir.as_ref().unwrap_or(&sysconfdir_default);
- let datadir = builder.config.datadir.as_ref().unwrap_or(&datadir_default);
- let docdir = builder.config.docdir.as_ref().unwrap_or(&docdir_default);
---
-2.28.0
-
diff --git a/dev-lang/rust/files/1.47.0-libressl.patch b/dev-lang/rust/files/1.47.0-libressl.patch
deleted file mode 100644
index 07ad0eb..0000000
--- a/dev-lang/rust/files/1.47.0-libressl.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0493f57a9878fd4d92fc419358173fd31b95bda8 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Sun, 11 Oct 2020 22:09:39 -0700
-Subject: [PATCH] Support LibreSSL 3.2.x
-
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- vendor/openssl-sys/.cargo-checksum.json | 2 +-
- vendor/openssl-sys/build/main.rs | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
-index 4c079f5..11beb6e 100644
---- a/vendor/openssl-sys/.cargo-checksum.json
-+++ b/vendor/openssl-sys/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"0d8b960ab71be4e2a08e3ff7e9615a17f7dddcd601b7fdd885bb6f6c5a6fe5f5","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d
061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9
098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7
d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
-\ No newline at end of file
-+{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"16dadcb59a2e9f7b4c7f4d6731530533f52df6af9dcc1877bcdad52a5d403385","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d
061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9
098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7
d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
-diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
-index 49f26d2..2de8ea5 100644
---- a/vendor/openssl-sys/build/main.rs
-+++ b/vendor/openssl-sys/build/main.rs
-@@ -220,7 +220,7 @@ See rust-openssl README for more information:
- (3, 0, _) => ('3', '0', 'x'),
- (3, 1, 0) => ('3', '1', '0'),
- (3, 1, _) => ('3', '1', 'x'),
-- (3, 2, 0) => ('3', '2', '0'),
-+ (3, 2, _) => ('3', '2', 'x'),
- _ => version_error(),
- };
-
-@@ -261,7 +261,7 @@ fn version_error() -> ! {
- "
-
- This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
--through 3.2.0, but a different version of OpenSSL was found. The build is now aborting
-+through 3.2.x, but a different version of OpenSSL was found. The build is now aborting
- due to this version mismatch.
-
- "
---
-2.28.0
-
diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml
deleted file mode 100644
index 98798d4..0000000
--- a/dev-lang/rust/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>rust@gentoo.org</email>
- <name>Rust Project</name>
- </maintainer>
- <use>
- <flag name="clippy">Install clippy, Rust code linter</flag>
- <flag name="miri">Install miri, an interpreter for Rust's mid-level intermediate representation (requires USE=nightly)</flag>
- <flag name="nightly">Enable nightly (UNSTABLE) features</flag>
- <flag name="parallel-compiler">Build a multi-threaded rustc</flag>
- <flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag>
- <flag name="rustfmt">Install rustfmt, Rust code formatter</flag>
- <flag name="system-bootstrap">Bootstrap using installed rust compiler</flag>
- <flag name="system-llvm">Use the system LLVM install</flag>
- <flag name="wasm">Build support for the wasm32-unknown-unknown target</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-lang/rust/rust-1.47.0-r1.ebuild b/dev-lang/rust/rust-1.47.0-r1.ebuild
deleted file mode 100644
index 760db0d..0000000
--- a/dev-lang/rust/rust-1.47.0-r1.ebuild
+++ /dev/null
@@ -1,533 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-ABI_VER="$(ver_cut 1-2)"
-SLOT="stable/${ABI_VER}"
-MY_P="rustc-${PV}"
-SRC="${MY_P}-src.tar.xz"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-RUST_TOOLCHAIN_BASEURL="https://portage.smaeul.xyz/distfiles/"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
- !system-bootstrap? (
- amd64? ( $(rust_arch_uri x86_64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- arm? ( $(rust_arch_uri armv7a-unknown-linux-musleabihf rust-${RUST_STAGE0_VERSION} ) )
- arm64? ( $(rust_arch_uri aarch64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- ppc? ( $(rust_arch_uri powerpc-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- ppc64? ( $(rust_arch_uri powerpc64-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- x86? ( $(rust_arch_uri i686-gentoo-linux-musl rust-${RUST_STAGE0_VERSION} ) )
- )
- https://dev.gentoo.org/~anarchy/dist/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
- https://dev.gentoo.org/~anarchy/dist/0030-libc-linkage.patch
-"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_arm_neon cpu_flags_arm_thumb2 cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt +system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling more than one slot
-# simultaneously.
-
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 12.
-# 3. Specify LLVM_MAX_SLOT, e.g. 11.
-LLVM_DEPEND="
- || (
- sys-devel/llvm:11[${LLVM_TARGET_USEDEPS// /,}]
- )
- <sys-devel/llvm-12:=
-"
-LLVM_MAX_SLOT=11
-
-BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- app-eselect/eselect-rust
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- dev-util/cmake
- dev-util/ninja
- )
-"
-
-# libgit2 should be at least same as bundled into libgit-sys #707746
-DEPEND="
- >=dev-libs/libgit2-0.99:=
- net-libs/libssh2:=
- net-libs/http-parser:=
- net-misc/curl:=[http2,ssl]
- elibc_musl? ( >=sys-libs/musl-1.2.1-r2 )
- sys-libs/zlib:=
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- system-llvm? (
- ${LLVM_DEPEND}
- wasm? ( sys-devel/lld )
- )
-"
-
-RDEPEND="${DEPEND}
- app-eselect/eselect-rust
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- test? ( ${ALL_LLVM_TARGETS[*]} )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warnings
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
- usr/lib/${PN}/${PV}/bin/.*
- usr/lib/${PN}/${PV}/lib/lib.*.so
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-# causes double bootstrap
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/1.46.0-don-t-create-prefix-at-time-of-check.patch
- "${FILESDIR}"/1.47.0-libressl.patch
- "${FILESDIR}"/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
- "${FILESDIR}"/0002-Fix-LLVM-build.patch
- "${FILESDIR}"/0003-Fix-linking-to-zlib-when-cross-compiling.patch
- "${FILESDIR}"/0004-Fix-rustdoc-when-cross-compiling-on-musl.patch
- "${FILESDIR}"/0005-Use-static-native-libraries-when-linking-static-exec.patch
- "${DISTDIR}"/0006-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch
- "${FILESDIR}"/0007-Prefer-libgcc_eh-over-libunwind-for-musl.patch
- "${FILESDIR}"/0008-Link-libssp_nonshared.a-on-all-musl-targets.patch
- "${FILESDIR}"/0009-test-failed-doctest-output-Fix-normalization.patch
- "${FILESDIR}"/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
- "${FILESDIR}"/0011-test-use-extern-for-plugins-Don-t-assume-multilib.patch
- "${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/0013-Link-stage-2-tools-dynamically-to-libstd.patch
- "${FILESDIR}"/0014-Move-debugger-scripts-to-usr-share-rust.patch
- "${FILESDIR}"/0015-Add-gentoo-target-specs.patch
- "${DISTDIR}"/0030-libc-linkage.patch
- "${FILESDIR}"/0040-rls-atomics.patch
- "${FILESDIR}"/0050-llvm.patch
- "${FILESDIR}"/0051-llvm-powerpc-elfv2.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "$1" true false
-}
-
-pre_build_checks() {
- local M=6144
- M=$(( $(usex clippy 128 0) + ${M} ))
- M=$(( $(usex miri 128 0) + ${M} ))
- M=$(( $(usex rls 512 0) + ${M} ))
- M=$(( $(usex rustfmt 256 0) + ${M} ))
- M=$(( $(usex system-llvm 0 2048) + ${M} ))
- M=$(( $(usex wasm 256 0) + ${M} ))
- M=$(( $(usex debug 15 10) * ${M} / 10 ))
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- M=$(( 15 * ${M} / 10 ))
- fi
- eshopts_pop
- M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
- M=$(( $(usex doc 256 0) + ${M} ))
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- # required to link agains system libs, otherwise
- # crates use bundled sources and compile own static version
- export LIBGIT2_SYS_USE_PKG_CONFIG=1
- export LIBSSH2_SYS_USE_PKG_CONFIG=1
- export PKG_CONFIG_ALLOW_CROSS=1
-
- if use system-llvm; then
- llvm_pkg_setup
-
- local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
-
- export LLVM_LINK_SHARED=1
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
- fi
-}
-
-src_prepare() {
- if ! use system-bootstrap; then
- local rust_stage0_root="${WORKDIR}"/rust-stage0
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-${CHOST}"
-
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
- --components=rust-std-${CHOST},rustc,cargo \
- --destdir="${rust_stage0_root}" --prefix=/ || die
- fi
-
- default
-}
-
-src_configure() {
- local arch_cflags rust_target="" rust_targets="\"$CHOST\"" tools="\"cargo\""
-
- # Collect rust target names to compile standard libs for all ABIs.
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}) | sed s/gnu/musl/)
- rust_targets="${rust_targets},\"${rust_target}\""
-
- if [ "$rust_target" = "armv7-unknown-linux-musleabihf" ] &&
- use cpu_flags_arm_neon && use cpu_flags_arm_thumb2; then
- rust_targets="${rust_targets},\"thumbv7neon-unknown-linux-musleabihf\""
- fi
- done
- if use wasm; then
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
- if use system-llvm; then
- # un-hardcode rust-lld linker for this target
- # https://bugs.gentoo.org/715348
- sed -i '/linker:/ s/rust-lld/wasm-ld/' src/librustc_target/spec/wasm32_base.rs || die
- fi
- fi
-
- if use clippy; then
- tools="\"clippy\",$tools"
- fi
- if use miri; then
- tools="\"miri\",$tools"
- fi
- if use rls; then
- tools="\"rls\",\"analysis\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- rust_stage0_root="$(rustc --print sysroot)"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
-
- rust_target="${CHOST}"
-
- cat <<- _EOF_ > "${S}"/config.toml
- [llvm]
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- ninja = true
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = ""
- link-shared = $(toml_usex system-llvm)
- [build]
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- docs = $(toml_usex doc)
- compiler-docs = $(toml_usex doc)
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- tools = [${tools}]
- verbose = 2
- sanitizers = false
- profiler = false
- cargo-native-static = false
- [install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
- sysconfdir = "etc"
- docdir = "share/doc/rust"
- bindir = "bin"
- libdir = "lib"
- mandir = "share/man"
- [rust]
- # https://github.com/rust-lang/rust/issues/54872
- codegen-units-std = 1
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debuginfo-level-rustc = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- rpath = false
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- dist-src = false
- remap-debuginfo = true
- lld = $(usex system-llvm false $(toml_usex wasm))
- backtrace-on-ice = true
- jemalloc = false
- [dist]
- src-tarball = false
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
- if use system-llvm; then
- cat <<- EOF >> "${S}"/config.toml
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- EOF
- fi
-
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}) | sed s/gnu/musl/)
- arch_cflags="$(get_abi_CFLAGS ${v##*.})"
-
- export "CFLAGS_${rust_target//-/_}"="$CFLAGS ${arch_cflags}"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
-
- if [ "$rust_target" = "armv7-unknown-linux-musleabihf" ] &&
- use cpu_flags_arm_neon && use cpu_flags_arm_thumb2; then
- rust_target=thumbv7neon-unknown-linux-musleabihf
-
- export "CFLAGS_${rust_target//-/_}"="$CFLAGS ${arch_cflags}"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${rust_target}]
- cc = "$(tc-getCC)"
- cxx = "$(tc-getCXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- crt-static = false
- _EOF_
- fi
- done
-
- if use wasm; then
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.wasm32-unknown-unknown]
- linker = "$(usex system-llvm lld rust-lld)"
- _EOF_
- fi
-
- einfo "Rust configured with the following settings:"
- cat "${S}"/config.toml || die
-}
-
-src_compile() {
- RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
-}
-
-src_test() {
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html
-
- # those are basic and codegen tests.
- local tests=(
- codegen
- codegen-units
- compile-fail
- incremental
- mir-opt
- pretty
- run-make
- )
-
- # fails if llvm is not built with ALL targets.
- # and known to fail with system llvm sometimes.
- use system-llvm || tests+=( assembly )
-
- # fragile/expensive/less important tests
- # or tests that require extra builds
- # TODO: instead of skipping, just make some nonfatal.
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
- tests+=(
- rustdoc
- rustdoc-js
- rustdoc-js-std
- rustdoc-ui
- run-make-fulldeps
- ui
- ui-fulldeps
- )
- fi
-
- local i failed=()
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
- for i in "${tests[@]}"; do
- local t="src/test/${i}"
- einfo "rust_src_test: running ${t}"
- if ! RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
- then
- failed+=( "${t}" )
- eerror "rust_src_test: ${t} failed"
- fi
- done
-
- if [[ ${#failed[@]} -ne 0 ]]; then
- eerror "rust_src_test: failure summary: ${failed[@]}"
- die "aborting due to test failures"
- fi
-}
-
-src_install() {
- DESTDIR="${D}" \
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
-
- # bug #689562, #689160
- rm -v "${D}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
- rmdir -v "${D}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
- dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
-
- # Move public shared libs to abi specific libdir
- mv "${ED}/usr/lib/${PN}/${PV}/lib"/*.so "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/${CHOST}/lib" || die
-
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/components" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/install.log" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib"/manifest-* || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/rust-installer-version" || die
- rm "${ED}/usr/lib/${PN}/${PV}/lib/rustlib/uninstall.sh" || die
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
- use rls && symlinks+=( rls )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
- # need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${PV}"
- mv -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" "${ED}/usr/lib/${PN}/${PV}/bin/${i}" || die
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
- dosym "${PN}/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
- dosym "../../lib/${PN}/${PV}/share/doc" "/usr/share/doc/${P}"
-
- newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/${PN}/${PV}/lib/rustlib/${CHOST}/lib"
- MANPATH="${EPREFIX}/usr/lib/rust/man"
- _EOF_
-
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use miri; then
- echo /usr/bin/miri >> "${T}/provider-${P}"
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
- fi
- if use rls; then
- echo /usr/bin/rls >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- elog "Rust installs a helper script for calling GDB and LLDB,"
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
-
- if has_version app-editors/emacs; then
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-06-07 16:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-07 16:48 [gentoo-commits] proj/musl:master commit in: dev-lang/rust/files/, dev-lang/rust/ Jory Pratt
-- strict thread matches above, loose matches on Subject: below --
2021-04-30 15:10 Jory Pratt
2021-03-13 21:34 Sam James
2021-03-13 21:34 Sam James
2018-01-29 19:34 Aric Belsito
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox