summaryrefslogtreecommitdiff
path: root/user/rust
diff options
context:
space:
mode:
Diffstat (limited to 'user/rust')
-rw-r--r--user/rust/0001-Require-static-native-libraries-when-linking-static-.patch4
-rw-r--r--user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch4
-rw-r--r--user/rust/0003-Fix-LLVM-build.patch4
-rw-r--r--user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch4
-rw-r--r--user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch4
-rw-r--r--user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch4
-rw-r--r--user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch4
-rw-r--r--user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch4
-rw-r--r--user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch4
-rw-r--r--user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch4
-rw-r--r--user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch4
-rw-r--r--user/rust/0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch29
-rw-r--r--user/rust/0015-flock-Fix-F_SETLK-F_SETLKW-on-32-bit-O_LARGEFILE.patch27
-rw-r--r--user/rust/0016-Add-powerpc-unknown-linux-musl-target.patch (renamed from user/rust/0012-Add-powerpc-unknown-linux-musl-target.patch)4
-rw-r--r--user/rust/0017-Use-the-ELFv2-ABI-on-powerpc64-musl.patch (renamed from user/rust/0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch)4
-rw-r--r--user/rust/0018-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch (renamed from user/rust/0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch)4
-rw-r--r--user/rust/0019-Add-powerpc64-unknown-linux-musl-target.patch (renamed from user/rust/0018-Add-powerpc64-unknown-linux-musl-target.patch)4
-rw-r--r--user/rust/0020-run-pass-const-endianness-negate-before-to_le.patch (renamed from user/rust/0019-run-pass-const-endianness-negate-before-to_le.patch)4
-rw-r--r--user/rust/0021-Fix-double_check-tests-on-big-endian-targets.patch (renamed from user/rust/0020-Fix-double_check-tests-on-big-endian-targets.patch)4
-rw-r--r--user/rust/0022-test-debuginfo-Update-for-GDB-output-format-changes.patch109
-rw-r--r--user/rust/0022-x.py-Use-python3-instead-of-python.patch (renamed from user/rust/0021-x.py-Use-python3-instead-of-python.patch)4
-rw-r--r--user/rust/0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch26
-rw-r--r--user/rust/0023-test-target-feature-gate-Only-run-on-relevant-target.patch37
-rw-r--r--user/rust/0024-test-use-extern-for-plugins-Don-t-assume-multilib.patch30
-rw-r--r--user/rust/0025-Ignore-broken-and-non-applicable-tests.patch (renamed from user/rust/0024-Ignore-broken-and-non-applicable-tests.patch)23
-rw-r--r--user/rust/0026-Link-stage-2-tools-dynamically-to-libstd.patch (renamed from user/rust/0028-Link-stage-2-tools-dynamically-to-libstd.patch)4
-rw-r--r--user/rust/0027-Add-foxkit-target-specs-for-OpenSSL.patch38
-rw-r--r--user/rust/0027-Move-debugger-scripts-to-usr-share-rust.patch (renamed from user/rust/0025-Move-debugger-scripts-to-usr-share-rust.patch)4
-rw-r--r--user/rust/0028-Add-foxkit-target-specs.patch (renamed from user/rust/0026-Add-foxkit-target-specs.patch)42
-rw-r--r--user/rust/0029-Work-around-libbacktrace-built-with-fstack-protector.patch47
-rw-r--r--user/rust/0031-liblibc-0163a7ce20b5.patch1343
-rw-r--r--user/rust/0032-libc-dcff154781e4.patch (renamed from user/rust/0031-liblibc-dcff154781e4.patch)0
-rw-r--r--user/rust/0033-libc-90c01fa6b0f4.patch (renamed from user/rust/0032-liblibc-90c01fa6b0f4.patch)0
-rw-r--r--user/rust/0034-libc-0163a7ce20b5.patch1343
-rw-r--r--user/rust/0035-libc-checksums.patch (renamed from user/rust/0033-liblibc-checksums.patch)2
-rw-r--r--user/rust/0035-rand-5b9e5c39d857.patch25
-rw-r--r--user/rust/0036-rand-checksums.patch9
-rw-r--r--user/rust/0040-rls-atomics.patch (renamed from user/rust/0034-rls-atomics.patch)0
-rw-r--r--user/rust/APKBUILD119
39 files changed, 3008 insertions, 321 deletions
diff --git a/user/rust/0001-Require-static-native-libraries-when-linking-static-.patch b/user/rust/0001-Require-static-native-libraries-when-linking-static-.patch
index 2bcf4b318..a9638ee75 100644
--- a/user/rust/0001-Require-static-native-libraries-when-linking-static-.patch
+++ b/user/rust/0001-Require-static-native-libraries-when-linking-static-.patch
@@ -1,7 +1,7 @@
-From 531eaa63083c5351cea24867ba7144817d456d77 Mon Sep 17 00:00:00 2001
+From 9cee7b92ea492f9a879c88ae0ca2c1f791bdec97 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:05:18 -0500
-Subject: [PATCH 01/28] Require static native libraries when linking static
+Subject: [PATCH 01/29] Require static native libraries when linking static
executables
---
diff --git a/user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch
index a3efabf93..6b9bcb876 100644
--- a/user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+++ b/user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch
@@ -1,7 +1,7 @@
-From b77da61648c4787be551de6f654148c3686c7a3e Mon Sep 17 00:00:00 2001
+From 8523832491df1889d9c226bef0cc76ed7b1a8d33 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Wed, 10 Jan 2018 13:36:41 -0600
-Subject: [PATCH 02/28] Don't pass CFLAGS to the C++ compiler
+Subject: [PATCH 02/29] Don't pass CFLAGS to the C++ compiler
---
src/bootstrap/builder.rs | 6 ++----
diff --git a/user/rust/0003-Fix-LLVM-build.patch b/user/rust/0003-Fix-LLVM-build.patch
index d2ca8526b..72108f0ae 100644
--- a/user/rust/0003-Fix-LLVM-build.patch
+++ b/user/rust/0003-Fix-LLVM-build.patch
@@ -1,7 +1,7 @@
-From 272bbaa5abe4f165a1f45ea1e9b33604af3ca77b Mon Sep 17 00:00:00 2001
+From f8878714f01309b99cae990f390431929a37c2c8 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:04:29 -0500
-Subject: [PATCH 03/28] Fix LLVM build
+Subject: [PATCH 03/29] Fix LLVM build
---
src/bootstrap/lib.rs | 3 ++-
diff --git a/user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
index a5105fd82..a28fc39b0 100644
--- a/user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+++ b/user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
@@ -1,7 +1,7 @@
-From 46fce11b84d5ae71fe55593c6141307a60ee349f Mon Sep 17 00:00:00 2001
+From 898e72085351cae381669960fcc4d20b8afeeb78 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 01:32:20 +0000
-Subject: [PATCH 04/28] test/sysroot-crates-are-unstable: Fix test when rpath
+Subject: [PATCH 04/29] test/sysroot-crates-are-unstable: Fix test when rpath
is disabled
Without this environment var, the test can't run rustc to find
diff --git a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
index 4fb2f6e23..eda99398c 100644
--- a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+++ b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -1,7 +1,7 @@
-From 98c0bb0e0213db77313c73167acf65c4658046dd Mon Sep 17 00:00:00 2001
+From 1b47e0a7cfc3fd6572d939aa894e3a23522ed4c0 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/28] Remove -nostdlib and musl_root from musl targets
+Subject: [PATCH 05/29] Remove -nostdlib and musl_root from musl targets
---
config.toml.example | 6 ---
diff --git a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
index 2e0aa35d8..5a2b6c422 100644
--- a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+++ b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
@@ -1,7 +1,7 @@
-From 6b2b48be476938c0f74b4e521e5ce3ecbeb19641 Mon Sep 17 00:00:00 2001
+From e3b90583112fd59255406f245db1856e0c21dab3 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/28] Prefer libgcc_eh over libunwind for musl
+Subject: [PATCH 06/29] Prefer libgcc_eh over libunwind for musl
---
src/libunwind/lib.rs | 2 +-
diff --git a/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
index 102e2e3a9..745c5a45f 100644
--- a/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
+++ b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
@@ -1,7 +1,7 @@
-From 30a10fccca71d84e696bf907621c30f66eb708e6 Mon Sep 17 00:00:00 2001
+From d77940e640855aed389af02a95db7958375785e1 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/28] runtest: Fix proc-macro tests on musl hosts
+Subject: [PATCH 07/29] runtest: Fix proc-macro tests on musl hosts
---
src/tools/compiletest/src/runtest.rs | 7 ++-----
diff --git a/user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch b/user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
index 7dbd51a92..a3caa20f5 100644
--- a/user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
+++ b/user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
@@ -1,7 +1,7 @@
-From 8b418c37f13710085f9a0c0c70904ad07e799c3f Mon Sep 17 00:00:00 2001
+From 3028ae603ea6f08fd6bc1c64a7fe28628a1232e9 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 2 Dec 2017 17:25:44 -0600
-Subject: [PATCH 08/28] Allow rustdoc to work when cross-compiling on musl
+Subject: [PATCH 08/29] Allow rustdoc to work when cross-compiling on musl
musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
---
diff --git a/user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch b/user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch
index 1bd596f33..6ae697151 100644
--- a/user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch
+++ b/user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch
@@ -1,7 +1,7 @@
-From 29fdec385825390eca134825acda5c2cbb09bceb Mon Sep 17 00:00:00 2001
+From 7595533dfe8121a2dcaec6de1653c3fb40349985 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 11 Sep 2017 11:21:56 -0500
-Subject: [PATCH 09/28] Add missing OpenSSL configurations for musl targets
+Subject: [PATCH 09/29] Add missing OpenSSL configurations for musl targets
---
src/bootstrap/native.rs | 6 ++++++
diff --git a/user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch b/user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch
index 1d6b5ae0d..15f431e5a 100644
--- a/user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch
+++ b/user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch
@@ -1,7 +1,7 @@
-From 5cbbac1243e4cda725f82337245881fe71beeec0 Mon Sep 17 00:00:00 2001
+From 289d2f3ceb6226c385f3784d310465f375dc0c00 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:35:41 +0000
-Subject: [PATCH 10/28] test/linkage-visibility: dlsym only sees exported
+Subject: [PATCH 10/29] test/linkage-visibility: dlsym only sees exported
symbols
---
diff --git a/user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch b/user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
index b2bd46ab7..58db71538 100644
--- a/user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
+++ b/user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
@@ -1,7 +1,7 @@
-From c4ed34adcd7649f886354115132fb18489ed91dc Mon Sep 17 00:00:00 2001
+From 097f992e9ef62963f5e938e9a21171253a72b36a Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:37:09 +0000
-Subject: [PATCH 11/28] test/invalid_const_promotion: Accept SIGTRAP as a valid
+Subject: [PATCH 11/29] test/invalid_const_promotion: Accept SIGTRAP as a valid
death signal
---
diff --git a/user/rust/0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch b/user/rust/0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch
deleted file mode 100644
index 72743d01d..000000000
--- a/user/rust/0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 91000b21e3a9938a66b7a9d12281b807004eefcc Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Wed, 8 Aug 2018 22:06:09 -0500
-Subject: [PATCH 15/28] Use ELFv2 ABI on powerpc64 musl (LLVM half)
-
----
- src/rustllvm/PassWrapper.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
-index 85fbc4bf37..15c3ab18d9 100644
---- a/src/rustllvm/PassWrapper.cpp
-+++ b/src/rustllvm/PassWrapper.cpp
-@@ -399,6 +399,12 @@ extern "C" LLVMTargetMachineRef LLVMRustCreateTargetMachine(
- Options.ThreadModel = ThreadModel::Single;
- }
-
-+ // See https://reviews.llvm.org/D52013
-+ if (Trip.getArch() == llvm::Triple::ArchType::ppc64 &&
-+ Trip.getEnvironment() == llvm::Triple::EnvironmentType::Musl) {
-+ Options.MCOptions.ABIName = "elfv2";
-+ }
-+
- #if LLVM_VERSION_GE(6, 0)
- Optional<CodeModel::Model> CM;
- #else
---
-2.18.0
-
diff --git a/user/rust/0015-flock-Fix-F_SETLK-F_SETLKW-on-32-bit-O_LARGEFILE.patch b/user/rust/0015-flock-Fix-F_SETLK-F_SETLKW-on-32-bit-O_LARGEFILE.patch
new file mode 100644
index 000000000..de9661d3a
--- /dev/null
+++ b/user/rust/0015-flock-Fix-F_SETLK-F_SETLKW-on-32-bit-O_LARGEFILE.patch
@@ -0,0 +1,27 @@
+From 9c13dec5a526a4a66dc45453ab1808ab9a1bb10b Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Tue, 9 Oct 2018 04:15:48 +0000
+Subject: [PATCH 15/29] flock: Fix F_SETLK/F_SETLKW on 32-bit O_LARGEFILE
+
+---
+ src/librustc_data_structures/flock.rs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/librustc_data_structures/flock.rs b/src/librustc_data_structures/flock.rs
+index ff1ebb11b7..d85017ec50 100644
+--- a/src/librustc_data_structures/flock.rs
++++ b/src/librustc_data_structures/flock.rs
+@@ -46,8 +46,8 @@ mod imp {
+ pub const F_RDLCK: libc::c_short = 0;
+ pub const F_WRLCK: libc::c_short = 1;
+ pub const F_UNLCK: libc::c_short = 2;
+- pub const F_SETLK: libc::c_int = 6;
+- pub const F_SETLKW: libc::c_int = 7;
++ pub const F_SETLK: libc::c_int = libc::F_SETLK;
++ pub const F_SETLKW: libc::c_int = libc::F_SETLKW;
+ }
+
+ #[cfg(target_os = "freebsd")]
+--
+2.18.0
+
diff --git a/user/rust/0012-Add-powerpc-unknown-linux-musl-target.patch b/user/rust/0016-Add-powerpc-unknown-linux-musl-target.patch
index acf5285c0..1bafb8dd5 100644
--- a/user/rust/0012-Add-powerpc-unknown-linux-musl-target.patch
+++ b/user/rust/0016-Add-powerpc-unknown-linux-musl-target.patch
@@ -1,7 +1,7 @@
-From 3e06726c26cd4ca93e7434cb33f7749e4d7311da Mon Sep 17 00:00:00 2001
+From 763b30d1e146fc04f7de2a8b1d6b17dcd94e3e0f Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 10 Sep 2018 01:35:35 +0000
-Subject: [PATCH 12/28] Add powerpc-unknown-linux-musl target
+Subject: [PATCH 16/29] Add powerpc-unknown-linux-musl target
---
src/bootstrap/native.rs | 1 +
diff --git a/user/rust/0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch b/user/rust/0017-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
index 5841dfaf5..dd11dd568 100644
--- a/user/rust/0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch
+++ b/user/rust/0017-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
@@ -1,7 +1,7 @@
-From 616f6627b1489fbf87f867cc9b7a2c870c64f06f Mon Sep 17 00:00:00 2001
+From e1214a04a9f8a30b67665ef353e3934e15e24a16 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Wed, 8 Aug 2018 22:06:18 -0500
-Subject: [PATCH 16/28] Use ELFv2 ABI on powerpc64 musl (Rust half)
+Subject: [PATCH 17/29] Use the ELFv2 ABI on powerpc64 musl
---
src/librustc_target/abi/call/powerpc64.rs | 12 ++++++++----
diff --git a/user/rust/0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch b/user/rust/0018-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
index 35bf35f6c..d1a6daa16 100644
--- a/user/rust/0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
+++ b/user/rust/0018-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
@@ -1,7 +1,7 @@
-From 87d7cb5226728f549af3a7f469a6107c3acbc41d Mon Sep 17 00:00:00 2001
+From c99f30986f8486cc24dda5630b685dd932d510d4 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:34:15 +0000
-Subject: [PATCH 17/28] Fix powerpc64 ELFv2 big-endian struct-passing ABI
+Subject: [PATCH 18/29] Fix powerpc64 ELFv2 big-endian struct-passing ABI
The requirements here are not "ELFv1" requirements, but big-endian
requirements, as the extension or non-extension of the argument is
diff --git a/user/rust/0018-Add-powerpc64-unknown-linux-musl-target.patch b/user/rust/0019-Add-powerpc64-unknown-linux-musl-target.patch
index a21c07b12..de0f2bc82 100644
--- a/user/rust/0018-Add-powerpc64-unknown-linux-musl-target.patch
+++ b/user/rust/0019-Add-powerpc64-unknown-linux-musl-target.patch
@@ -1,7 +1,7 @@
-From 529fb4b3cdc73a3a6b098f13f7d07255f0ebb63e Mon Sep 17 00:00:00 2001
+From 914179b27fdabbbd42da8206f46621a006e54180 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Tue, 7 Aug 2018 21:59:15 -0500
-Subject: [PATCH 18/28] Add powerpc64-unknown-linux-musl target
+Subject: [PATCH 19/29] Add powerpc64-unknown-linux-musl target
---
src/bootstrap/native.rs | 5 +++
diff --git a/user/rust/0019-run-pass-const-endianness-negate-before-to_le.patch b/user/rust/0020-run-pass-const-endianness-negate-before-to_le.patch
index a024abc21..151b3f419 100644
--- a/user/rust/0019-run-pass-const-endianness-negate-before-to_le.patch
+++ b/user/rust/0020-run-pass-const-endianness-negate-before-to_le.patch
@@ -1,7 +1,7 @@
-From c38c7916aca7d0d0aa1d860ae16ec8743515c94c Mon Sep 17 00:00:00 2001
+From 72c7e78b400c1ad96d84b254b51dcc9f2baea3e1 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Mon, 30 Jul 2018 13:08:56 -0700
-Subject: [PATCH 19/28] run-pass/const-endianness: negate before to_le()
+Subject: [PATCH 20/29] run-pass/const-endianness: negate before to_le()
`const LE_I128` needs parentheses to negate the value *before* calling
`to_le()`, otherwise it doesn't match the operations performed in the
diff --git a/user/rust/0020-Fix-double_check-tests-on-big-endian-targets.patch b/user/rust/0021-Fix-double_check-tests-on-big-endian-targets.patch
index ca8f7d1ad..720db7d10 100644
--- a/user/rust/0020-Fix-double_check-tests-on-big-endian-targets.patch
+++ b/user/rust/0021-Fix-double_check-tests-on-big-endian-targets.patch
@@ -1,7 +1,7 @@
-From 94543ed21325120c86cde3267306272b519be3f7 Mon Sep 17 00:00:00 2001
+From 55549ca3d760200dc6037fecc7e5b8816558c5b1 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:37:58 +0000
-Subject: [PATCH 20/28] Fix double_check tests on big-endian targets
+Subject: [PATCH 21/29] Fix double_check tests on big-endian targets
Since the enums get optimized down to 1 byte long, the bits
set in the usize member don't align with the enums on big-endian
diff --git a/user/rust/0022-test-debuginfo-Update-for-GDB-output-format-changes.patch b/user/rust/0022-test-debuginfo-Update-for-GDB-output-format-changes.patch
deleted file mode 100644
index d7852a977..000000000
--- a/user/rust/0022-test-debuginfo-Update-for-GDB-output-format-changes.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From b50f6be09bdefa827bbb2248f48faaae87204a1d Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:34:56 +0000
-Subject: [PATCH 22/28] test/debuginfo: Update for GDB output format changes
-
----
- .../generic-enum-with-different-disr-sizes.rs | 16 ++++++++--------
- src/test/debuginfo/generic-struct-style-enum.rs | 6 +++---
- src/test/debuginfo/generic-tuple-style-enum.rs | 6 +++---
- 3 files changed, 14 insertions(+), 14 deletions(-)
-
-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 1fc05b3752..7e3818bc0e 100644
---- a/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
-+++ b/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs
-@@ -19,36 +19,36 @@
-
- // gdb-command:print eight_bytes1
- // gdbg-check:$1 = {{RUST$ENUM$DISR = Variant1, __0 = 100}, {RUST$ENUM$DISR = Variant1, __0 = 100}}
--// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum::Variant1(100)
-+// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum<f64>::Variant1(100)
-
- // gdb-command:print four_bytes1
- // gdbg-check:$2 = {{RUST$ENUM$DISR = Variant1, __0 = 101}, {RUST$ENUM$DISR = Variant1, __0 = 101}}
--// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum::Variant1(101)
-+// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum<i32>::Variant1(101)
-
- // gdb-command:print two_bytes1
- // gdbg-check:$3 = {{RUST$ENUM$DISR = Variant1, __0 = 102}, {RUST$ENUM$DISR = Variant1, __0 = 102}}
--// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum::Variant1(102)
-+// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum<i16>::Variant1(102)
-
- // gdb-command:print one_byte1
- // gdbg-check:$4 = {{RUST$ENUM$DISR = Variant1, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant1, __0 = 65 'A'}}
--// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum::Variant1(65)
-+// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum<u8>::Variant1(65)
-
-
- // gdb-command:print eight_bytes2
- // gdbg-check:$5 = {{RUST$ENUM$DISR = Variant2, __0 = 100}, {RUST$ENUM$DISR = Variant2, __0 = 100}}
--// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum::Variant2(100)
-+// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum<f64>::Variant2(100)
-
- // gdb-command:print four_bytes2
- // gdbg-check:$6 = {{RUST$ENUM$DISR = Variant2, __0 = 101}, {RUST$ENUM$DISR = Variant2, __0 = 101}}
--// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum::Variant2(101)
-+// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum<i32>::Variant2(101)
-
- // gdb-command:print two_bytes2
- // gdbg-check:$7 = {{RUST$ENUM$DISR = Variant2, __0 = 102}, {RUST$ENUM$DISR = Variant2, __0 = 102}}
--// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum::Variant2(102)
-+// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum<i16>::Variant2(102)
-
- // gdb-command:print one_byte2
- // gdbg-check:$8 = {{RUST$ENUM$DISR = Variant2, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant2, __0 = 65 'A'}}
--// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum::Variant2(65)
-+// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum<u8>::Variant2(65)
-
- // gdb-command:continue
-
-diff --git a/src/test/debuginfo/generic-struct-style-enum.rs b/src/test/debuginfo/generic-struct-style-enum.rs
-index 4a1d14ccf6..fa6b0105dc 100644
---- a/src/test/debuginfo/generic-struct-style-enum.rs
-+++ b/src/test/debuginfo/generic-struct-style-enum.rs
-@@ -19,15 +19,15 @@
-
- // gdb-command:print case1
- // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}}
--// gdbr-check:$1 = generic_struct_style_enum::Regular::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868}
-+// gdbr-check:$1 = generic_struct_style_enum::Regular<u16, u32, i64>::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868}
-
- // gdb-command:print case2
- // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, a = 0, b = 286331153, c = 286331153}, {RUST$ENUM$DISR = Case2, [...]}}
--// gdbr-check:$2 = generic_struct_style_enum::Regular::Case2{a: 0, b: 286331153, c: 286331153}
-+// gdbr-check:$2 = generic_struct_style_enum::Regular<i16, u32, i64>::Case2{a: 0, b: 286331153, c: 286331153}
-
- // gdb-command:print case3
- // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, a = 0, b = 6438275382588823897}}
--// gdbr-check:$3 = generic_struct_style_enum::Regular::Case3{a: 0, b: 6438275382588823897}
-+// gdbr-check:$3 = generic_struct_style_enum::Regular<u16, i32, u64>::Case3{a: 0, b: 6438275382588823897}
-
- // gdb-command:print univariant
- // gdbg-check:$4 = {{a = -1}}
-diff --git a/src/test/debuginfo/generic-tuple-style-enum.rs b/src/test/debuginfo/generic-tuple-style-enum.rs
-index 012bd6140c..b0f85d6f8b 100644
---- a/src/test/debuginfo/generic-tuple-style-enum.rs
-+++ b/src/test/debuginfo/generic-tuple-style-enum.rs
-@@ -21,15 +21,15 @@
-
- // gdb-command:print case1
- // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, __0 = 0, __1 = 31868, __2 = 31868, __3 = 31868, __4 = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}}
--// gdbr-check:$1 = generic_tuple_style_enum::Regular::Case1(0, 31868, 31868, 31868, 31868)
-+// gdbr-check:$1 = generic_tuple_style_enum::Regular<u16, u32, u64>::Case1(0, 31868, 31868, 31868, 31868)
-
- // gdb-command:print case2
- // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, __0 = 0, __1 = 286331153, __2 = 286331153}, {RUST$ENUM$DISR = Case2, [...]}}
--// gdbr-check:$2 = generic_tuple_style_enum::Regular::Case2(0, 286331153, 286331153)
-+// gdbr-check:$2 = generic_tuple_style_enum::Regular<i16, i32, i64>::Case2(0, 286331153, 286331153)
-
- // gdb-command:print case3
- // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, __0 = 0, __1 = 6438275382588823897}}
--// gdbr-check:$3 = generic_tuple_style_enum::Regular::Case3(0, 6438275382588823897)
-+// gdbr-check:$3 = generic_tuple_style_enum::Regular<i16, i32, i64>::Case3(0, 6438275382588823897)
-
- // gdb-command:print univariant
- // gdbg-check:$4 = {{__0 = -1}}
---
-2.18.0
-
diff --git a/user/rust/0021-x.py-Use-python3-instead-of-python.patch b/user/rust/0022-x.py-Use-python3-instead-of-python.patch
index 70a1dcb9a..e23de6cef 100644
--- a/user/rust/0021-x.py-Use-python3-instead-of-python.patch
+++ b/user/rust/0022-x.py-Use-python3-instead-of-python.patch
@@ -1,7 +1,7 @@
-From e6007a9a892ccece7c940782a1ac9c13275eb26a Mon Sep 17 00:00:00 2001
+From 2a14cfeafd57037b4063e411f8e90f09bbe29fa4 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 10 Sep 2018 01:36:00 +0000
-Subject: [PATCH 21/28] x.py: Use python3 instead of python
+Subject: [PATCH 22/29] x.py: Use python3 instead of python
---
x.py | 2 +-
diff --git a/user/rust/0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch b/user/rust/0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch
deleted file mode 100644
index bcb0e8e77..000000000
--- a/user/rust/0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 103ce33fe27dfcb0dad1354f269838f641fe66f6 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:39:46 +0000
-Subject: [PATCH 23/28] test/target-feature-gate: Ignore on not-applicable
- targets
-
----
- src/test/ui/target-feature-gate.rs | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/test/ui/target-feature-gate.rs b/src/test/ui/target-feature-gate.rs
-index 69208f1513..59c5708b0c 100644
---- a/src/test/ui/target-feature-gate.rs
-+++ b/src/test/ui/target-feature-gate.rs
-@@ -10,6 +10,8 @@
-
- // ignore-arm
- // ignore-aarch64
-+// ignore-powerpc
-+// ignore-powerpc64
- // ignore-wasm
- // ignore-emscripten
- // gate-test-sse4a_target_feature
---
-2.18.0
-
diff --git a/user/rust/0023-test-target-feature-gate-Only-run-on-relevant-target.patch b/user/rust/0023-test-target-feature-gate-Only-run-on-relevant-target.patch
new file mode 100644
index 000000000..0bfa28fe9
--- /dev/null
+++ b/user/rust/0023-test-target-feature-gate-Only-run-on-relevant-target.patch
@@ -0,0 +1,37 @@
+From beb589601f0ca9dd762aaa9f52a440bbef68e943 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 16 Sep 2018 16:39:46 +0000
+Subject: [PATCH 23/29] test/target-feature-gate: Only run on relevant targets
+
+---
+ src/test/ui/target-feature-gate.rs | 2 ++
+ src/test/ui/target-feature-gate.stderr | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/test/ui/target-feature-gate.rs b/src/test/ui/target-feature-gate.rs
+index 69208f1513..59c5708b0c 100644
+--- a/src/test/ui/target-feature-gate.rs
++++ b/src/test/ui/target-feature-gate.rs
+@@ -10,6 +10,8 @@
+
+ // ignore-arm
+ // ignore-aarch64
++// ignore-powerpc
++// ignore-powerpc64
+ // ignore-wasm
+ // ignore-emscripten
+ // gate-test-sse4a_target_feature
+diff --git a/src/test/ui/target-feature-gate.stderr b/src/test/ui/target-feature-gate.stderr
+index a6f794a1a1..24141d0064 100644
+--- a/src/test/ui/target-feature-gate.stderr
++++ b/src/test/ui/target-feature-gate.stderr
+@@ -1,5 +1,5 @@
+ error[E0658]: the target feature `avx512bw` is currently unstable (see issue #44839)
+- --> $DIR/target-feature-gate.rs:26:18
++ --> $DIR/target-feature-gate.rs:28:18
+ |
+ LL | #[target_feature(enable = "avx512bw")]
+ | ^^^^^^^^^^^^^^^^^^^
+--
+2.18.0
+
diff --git a/user/rust/0024-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/user/rust/0024-test-use-extern-for-plugins-Don-t-assume-multilib.patch
new file mode 100644
index 000000000..c033bb558
--- /dev/null
+++ b/user/rust/0024-test-use-extern-for-plugins-Don-t-assume-multilib.patch
@@ -0,0 +1,30 @@
+From 0fbfd4524768afad009e8e94c8824adfd7bd3b00 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sat, 6 Oct 2018 04:01:48 +0000
+Subject: [PATCH 24/29] 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 cc7bc176f4..36553f1e44 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 @@ SKIP_OS := 'FreeBSD OpenBSD Bitrig SunOS'
+
+ ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS)))
+
+-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.18.0
+
diff --git a/user/rust/0024-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0025-Ignore-broken-and-non-applicable-tests.patch
index 75434c9fb..12c3e46dd 100644
--- a/user/rust/0024-Ignore-broken-and-non-applicable-tests.patch
+++ b/user/rust/0025-Ignore-broken-and-non-applicable-tests.patch
@@ -1,18 +1,16 @@
-From 4ed9e0630eafd839c9b22e8ed56ecacccc913bdf Mon Sep 17 00:00:00 2001
+From 72a9bf3841f3c07db121f6d41ccd448d73aa1c01 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:38:48 +0000
-Subject: [PATCH 24/28] Ignore broken and non-applicable tests
+Subject: [PATCH 25/29] Ignore broken and non-applicable tests
-long-linker-command-lines: takes more than 10 minutes to run
-nil-enum: GDB output changed in a questionable way
+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/debuginfo/nil-enum.rs | 2 +-
src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 1 -
src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 +-
- 4 files changed, 3 insertions(+), 3 deletions(-)
+ 3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
index d3b7a5cd59..5e0f94cdf9 100644
@@ -26,19 +24,6 @@ index d3b7a5cd59..5e0f94cdf9 100644
#![feature(no_core, lang_items)]
#![no_core]
-diff --git a/src/test/debuginfo/nil-enum.rs b/src/test/debuginfo/nil-enum.rs
-index 94377421c0..bce2b98447 100644
---- a/src/test/debuginfo/nil-enum.rs
-+++ b/src/test/debuginfo/nil-enum.rs
-@@ -10,7 +10,7 @@
-
- // LLDB can't handle zero-sized values
- // ignore-lldb
--
-+// ignore-test
-
- // compile-flags:-g
- // gdb-command:run
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 5876fbc94b..e9f5c33b77 100644
--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
diff --git a/user/rust/0028-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0026-Link-stage-2-tools-dynamically-to-libstd.patch
index 5a6f8506c..ffd3e8342 100644
--- a/user/rust/0028-Link-stage-2-tools-dynamically-to-libstd.patch
+++ b/user/rust/0026-Link-stage-2-tools-dynamically-to-libstd.patch
@@ -1,7 +1,7 @@
-From 418b6417dbaf06f5afe7a076bc8d58c308a4a48c Mon Sep 17 00:00:00 2001
+From 29df88cb3f1bdaac8e6a0049f8f1c1e335954509 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 24 Sep 2018 23:42:23 +0000
-Subject: [PATCH 28/28] Link stage 2 tools dynamically to libstd
+Subject: [PATCH 26/29] Link stage 2 tools dynamically to libstd
---
src/bootstrap/tool.rs | 4 +++-
diff --git a/user/rust/0027-Add-foxkit-target-specs-for-OpenSSL.patch b/user/rust/0027-Add-foxkit-target-specs-for-OpenSSL.patch
deleted file mode 100644
index 69e8584ba..000000000
--- a/user/rust/0027-Add-foxkit-target-specs-for-OpenSSL.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 7eba02678b9a00bc6d38281795422663bca3fcc1 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Tue, 18 Sep 2018 00:02:46 +0000
-Subject: [PATCH 27/28] Add foxkit target specs for OpenSSL
-
----
- src/bootstrap/native.rs | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
-index 186ef75189..406c76b95c 100644
---- a/src/bootstrap/native.rs
-+++ b/src/bootstrap/native.rs
-@@ -652,6 +652,12 @@ impl Step for Openssl {
- "x86_64-unknown-linux-gnux32" => "linux-x32",
- "x86_64-unknown-linux-musl" => "linux-x86_64",
- "x86_64-unknown-netbsd" => "BSD-x86_64",
-+ "aarch64-foxkit-linux-musl" => "linux-aarch64",
-+ "armv7-foxkit-linux-musleabihf" => "linux-armv4",
-+ "i586-foxkit-linux-musl" => "linux-elf",
-+ "powerpc-foxkit-linux-musl" => "linux-ppc",
-+ "powerpc64-foxkit-linux-musl" => "linux-ppc64",
-+ "x86_64-foxkit-linux-musl" => "linux-x86_64",
- _ => panic!("don't know how to configure OpenSSL for {}", target),
- };
- configure.arg(os);
-@@ -666,7 +672,7 @@ impl Step for Openssl {
- configure.arg("-fomit-frame-pointer");
- }
- // OpenSSL ships incompatible ELFv1 ABI assembly code
-- if target == "powerpc64-unknown-linux-musl" {
-+ if target == "powerpc64-unknown-linux-musl" || target == "powerpc64-foxkit-linux-musl" {
- configure.arg("no-asm");
- }
- if target == "sparc64-unknown-netbsd" {
---
-2.18.0
-
diff --git a/user/rust/0025-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0027-Move-debugger-scripts-to-usr-share-rust.patch
index f1b163f2d..81c649eaf 100644
--- a/user/rust/0025-Move-debugger-scripts-to-usr-share-rust.patch
+++ b/user/rust/0027-Move-debugger-scripts-to-usr-share-rust.patch
@@ -1,7 +1,7 @@
-From e2660b4762083f14a355d283b6383f7cab0d38fd Mon Sep 17 00:00:00 2001
+From d8c25e109fbf44a3dc18ae0ea8da50cc6ee6b312 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 02:09:10 +0000
-Subject: [PATCH 25/28] Move debugger scripts to /usr/share/rust
+Subject: [PATCH 27/29] Move debugger scripts to /usr/share/rust
---
src/bootstrap/dist.rs | 2 +-
diff --git a/user/rust/0026-Add-foxkit-target-specs.patch b/user/rust/0028-Add-foxkit-target-specs.patch
index 883748a0e..46a255a3c 100644
--- a/user/rust/0026-Add-foxkit-target-specs.patch
+++ b/user/rust/0028-Add-foxkit-target-specs.patch
@@ -1,9 +1,10 @@
-From 84f391140786018536c2eecd925c72814e5df38f Mon Sep 17 00:00:00 2001
+From a6da366371be1d8a1c55de52d9a53f93b9951cd0 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 02:29:06 +0000
-Subject: [PATCH 26/28] Add foxkit target specs
+Subject: [PATCH 28/29] Add foxkit target specs
---
+ src/bootstrap/native.rs | 10 +++++++--
.../spec/aarch64_foxkit_linux_musl.rs | 21 +++++++++++++++++++
.../spec/armv7_foxkit_linux_musleabihf.rs | 21 +++++++++++++++++++
.../spec/i586_foxkit_linux_musl.rs | 21 +++++++++++++++++++
@@ -11,7 +12,7 @@ Subject: [PATCH 26/28] Add foxkit target specs
.../spec/powerpc64_foxkit_linux_musl.rs | 21 +++++++++++++++++++
.../spec/powerpc_foxkit_linux_musl.rs | 21 +++++++++++++++++++
.../spec/x86_64_foxkit_linux_musl.rs | 21 +++++++++++++++++++
- 7 files changed, 133 insertions(+)
+ 8 files changed, 141 insertions(+), 2 deletions(-)
create mode 100644 src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
create mode 100644 src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
create mode 100644 src/librustc_target/spec/i586_foxkit_linux_musl.rs
@@ -19,6 +20,41 @@ Subject: [PATCH 26/28] Add foxkit target specs
create mode 100644 src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
create mode 100644 src/librustc_target/spec/x86_64_foxkit_linux_musl.rs
+diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
+index 186ef75189..9122eeb785 100644
+--- a/src/bootstrap/native.rs
++++ b/src/bootstrap/native.rs
+@@ -652,6 +652,12 @@ impl Step for Openssl {
+ "x86_64-unknown-linux-gnux32" => "linux-x32",
+ "x86_64-unknown-linux-musl" => "linux-x86_64",
+ "x86_64-unknown-netbsd" => "BSD-x86_64",
++ "aarch64-foxkit-linux-musl" => "linux-aarch64",
++ "armv7-foxkit-linux-musleabihf" => "linux-armv4",
++ "i586-foxkit-linux-musl" => "linux-elf",
++ "powerpc-foxkit-linux-musl" => "linux-ppc",
++ "powerpc64-foxkit-linux-musl" => "linux-ppc64",
++ "x86_64-foxkit-linux-musl" => "linux-x86_64",
+ _ => panic!("don't know how to configure OpenSSL for {}", target),
+ };
+ configure.arg(os);
+@@ -666,7 +672,7 @@ impl Step for Openssl {
+ configure.arg("-fomit-frame-pointer");
+ }
+ // OpenSSL ships incompatible ELFv1 ABI assembly code
+- if target == "powerpc64-unknown-linux-musl" {
++ if target == "powerpc64-unknown-linux-musl" || target == "powerpc64-foxkit-linux-musl" {
+ configure.arg("no-asm");
+ }
+ if target == "sparc64-unknown-netbsd" {
+@@ -681,7 +687,7 @@ impl Step for Openssl {
+ // Make PIE binaries
+ // Non-PIE linker support was removed in Lollipop
+ // https://source.android.com/security/enhancements/enhancements50
+- if target == "i686-linux-android" {
++ if target == "i686-linux-android" || target == "i586-foxkit-linux-musl" {
+ configure.arg("no-asm");
+ }
+ configure.current_dir(&obj);
diff --git a/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
new file mode 100644
index 0000000000..18ad2c2f31
diff --git a/user/rust/0029-Work-around-libbacktrace-built-with-fstack-protector.patch b/user/rust/0029-Work-around-libbacktrace-built-with-fstack-protector.patch
new file mode 100644
index 000000000..29a31508d
--- /dev/null
+++ b/user/rust/0029-Work-around-libbacktrace-built-with-fstack-protector.patch
@@ -0,0 +1,47 @@
+From 22bb29c2b807180ed0522d9c930e14c327582571 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sat, 6 Oct 2018 04:17:14 +0000
+Subject: [PATCH 29/29] Work around libbacktrace built with -fstack-protector
+
+On 32-bit x86 and ppc, gcc generates calls to __stack_chk_fail_local,
+which must be a hidden function in every DSO. gcc provides the
+implementation in libssp_nonshared. libbacktrace is built in hosted
+mode, where Adelie's compiler enables -fstack-protector by default.
+However, rustc passes -nodefaultlibs, inhibiting gcc from linking
+libssp_nonshared.
+---
+ src/libpanic_unwind/Cargo.toml | 1 +
+ src/libpanic_unwind/build.rs | 10 ++++++++++
+ 2 files changed, 11 insertions(+)
+ create mode 100644 src/libpanic_unwind/build.rs
+
+diff --git a/src/libpanic_unwind/Cargo.toml b/src/libpanic_unwind/Cargo.toml
+index 74aaa4d5ae..c1b66aeefe 100644
+--- a/src/libpanic_unwind/Cargo.toml
++++ b/src/libpanic_unwind/Cargo.toml
+@@ -1,5 +1,6 @@
+ [package]
+ authors = ["The Rust Project Developers"]
++build = "build.rs"
+ name = "panic_unwind"
+ version = "0.0.0"
+
+diff --git a/src/libpanic_unwind/build.rs b/src/libpanic_unwind/build.rs
+new file mode 100644
+index 0000000000..0d9a14b64c
+--- /dev/null
++++ b/src/libpanic_unwind/build.rs
+@@ -0,0 +1,10 @@
++use std::env;
++
++fn main() {
++ let target = env::var("TARGET").unwrap();
++ match target.as_ref() {
++ "i586-foxkit-linux-musl" => println!("cargo:rustc-link-lib=ssp_nonshared"),
++ "powerpc-foxkit-linux-musl" => println!("cargo:rustc-link-lib=ssp_nonshared"),
++ _ => {},
++ };
++}
+--
+2.18.0
+
diff --git a/user/rust/0031-liblibc-0163a7ce20b5.patch b/user/rust/0031-liblibc-0163a7ce20b5.patch
new file mode 100644
index 000000000..6c2268a53
--- /dev/null
+++ b/user/rust/0031-liblibc-0163a7ce20b5.patch
@@ -0,0 +1,1343 @@
+From 0163a7ce20b5f4c8d8f725811e48e1f268b0253e Mon Sep 17 00:00:00 2001
+From: Marek Benc <dusxmt@gmx.com>
+Date: Thu, 5 Jul 2018 15:51:38 +0200
+Subject: [PATCH] Add linux musl powerpc (32-bit) support
+
+---
+ src/unix/notbsd/linux/musl/b32/arm.rs | 85 +++
+ src/unix/notbsd/linux/musl/b32/mips.rs | 85 +++
+ src/unix/notbsd/linux/musl/b32/mod.rs | 88 +--
+ src/unix/notbsd/linux/musl/b32/powerpc.rs | 866 ++++++++++++++++++++++
+ src/unix/notbsd/linux/musl/b32/x86.rs | 85 +++
+ src/unix/notbsd/linux/musl/mod.rs | 3 +-
+ 6 files changed, 1127 insertions(+), 85 deletions(-)
+ create mode 100644 src/unix/notbsd/linux/musl/b32/powerpc.rs
+
+diff --git a/src/liblibc/src/unix/notbsd/linux/musl/b32/arm.rs b/src/liblibc/src/unix/notbsd/linux/musl/b32/arm.rs
+index 22bf16c1fda..20fa33a3f77 100644
+--- a/src/liblibc/src/unix/notbsd/linux/musl/b32/arm.rs
++++ b/src/liblibc/src/unix/notbsd/linux/musl/b32/arm.rs
+@@ -52,6 +52,18 @@ s! {
+ pub ss_size: ::size_t
+ }
+
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __unused1: ::c_long,
++ __unused2: ::c_long
++ }
++
+ pub struct shmid_ds {
+ pub shm_perm: ::ipc_perm,
+ pub shm_segsz: ::size_t,
+@@ -151,6 +163,9 @@ s! {
+ }
+ }
+
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++
+ pub const O_DIRECT: ::c_int = 0x10000;
+ pub const O_DIRECTORY: ::c_int = 0x4000;
+ pub const O_NOFOLLOW: ::c_int = 0x8000;
+@@ -165,6 +180,76 @@ pub const RLIMIT_NOFILE: ::c_int = 7;
+ pub const RLIMIT_AS: ::c_int = 9;
+ pub const RLIMIT_NPROC: ::c_int = 6;
+ pub const RLIMIT_MEMLOCK: ::c_int = 8;
++pub const RLIMIT_NLIMITS: ::c_int = 16;
++
++pub const MCL_CURRENT: ::c_int = 0x0001;
++pub const MCL_FUTURE: ::c_int = 0x0002;
++pub const CBAUD: ::tcflag_t = 0o0010017;
++pub const TAB1: ::c_int = 0x00000800;
++pub const TAB2: ::c_int = 0x00001000;
++pub const TAB3: ::c_int = 0x00001800;
++pub const CR1: ::c_int = 0x00000200;
++pub const CR2: ::c_int = 0x00000400;
++pub const CR3: ::c_int = 0x00000600;
++pub const FF1: ::c_int = 0x00008000;
++pub const BS1: ::c_int = 0x00002000;
++pub const VT1: ::c_int = 0x00004000;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 0x00000400;
++pub const IXOFF: ::tcflag_t = 0x00001000;
++pub const ONLCR: ::tcflag_t = 0x4;
++pub const CSIZE: ::tcflag_t = 0x00000030;
++pub const CS6: ::tcflag_t = 0x00000010;
++pub const CS7: ::tcflag_t = 0x00000020;
++pub const CS8: ::tcflag_t = 0x00000030;
++pub const CSTOPB: ::tcflag_t = 0x00000040;
++pub const CREAD: ::tcflag_t = 0x00000080;
++pub const PARENB: ::tcflag_t = 0x00000100;
++pub const PARODD: ::tcflag_t = 0x00000200;
++pub const HUPCL: ::tcflag_t = 0x00000400;
++pub const CLOCAL: ::tcflag_t = 0x00000800;
++pub const ECHOKE: ::tcflag_t = 0x00000800;
++pub const ECHOE: ::tcflag_t = 0x00000010;
++pub const ECHOK: ::tcflag_t = 0x00000020;
++pub const ECHONL: ::tcflag_t = 0x00000040;
++pub const ECHOPRT: ::tcflag_t = 0x00000400;
++pub const ECHOCTL: ::tcflag_t = 0x00000200;
++pub const ISIG: ::tcflag_t = 0x00000001;
++pub const ICANON: ::tcflag_t = 0x00000002;
++pub const PENDIN: ::tcflag_t = 0x00004000;
++pub const NOFLSH: ::tcflag_t = 0x00000080;
++pub const CIBAUD: ::tcflag_t = 0o02003600000;
++pub const CBAUDEX: ::tcflag_t = 0o010000;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 0o000002;
++pub const NLDLY: ::tcflag_t = 0o000400;
++pub const CRDLY: ::tcflag_t = 0o003000;
++pub const TABDLY: ::tcflag_t = 0o014000;
++pub const BSDLY: ::tcflag_t = 0o020000;
++pub const FFDLY: ::tcflag_t = 0o100000;
++pub const VTDLY: ::tcflag_t = 0o040000;
++pub const XTABS: ::tcflag_t = 0o014000;
++pub const B57600: ::speed_t = 0o010001;
++pub const B115200: ::speed_t = 0o010002;
++pub const B230400: ::speed_t = 0o010003;
++pub const B460800: ::speed_t = 0o010004;
++pub const B500000: ::speed_t = 0o010005;
++pub const B576000: ::speed_t = 0o010006;
++pub const B921600: ::speed_t = 0o010007;
++pub const B1000000: ::speed_t = 0o010010;
++pub const B1152000: ::speed_t = 0o010011;
++pub const B1500000: ::speed_t = 0o010012;
++pub const B2000000: ::speed_t = 0o010013;
++pub const B2500000: ::speed_t = 0o010014;
++pub const B3000000: ::speed_t = 0o010015;
++pub const B3500000: ::speed_t = 0o010016;
++pub const B4000000: ::speed_t = 0o010017;
+
+ pub const O_APPEND: ::c_int = 1024;
+ pub const O_CREAT: ::c_int = 64;
+diff --git a/src/liblibc/src/unix/notbsd/linux/musl/b32/mips.rs b/src/liblibc/src/unix/notbsd/linux/musl/b32/mips.rs
+index 89231a0c751..bfde73c563d 100644
+--- a/src/liblibc/src/unix/notbsd/linux/musl/b32/mips.rs
++++ b/src/liblibc/src/unix/notbsd/linux/musl/b32/mips.rs
+@@ -54,6 +54,18 @@ s! {
+ pub ss_flags: ::c_int,
+ }
+
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __unused1: ::c_long,
++ __unused2: ::c_long
++ }
++
+ pub struct shmid_ds {
+ pub shm_perm: ::ipc_perm,
+ pub shm_segsz: ::size_t,
+@@ -162,6 +174,9 @@ s! {
+ }
+ }
+
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++
+ pub const O_DIRECT: ::c_int = 0o100000;
+ pub const O_DIRECTORY: ::c_int = 0o200000;
+ pub const O_NOFOLLOW: ::c_int = 0o400000;
+@@ -176,6 +191,76 @@ pub const RLIMIT_NOFILE: ::c_int = 5;
+ pub const RLIMIT_AS: ::c_int = 6;
+ pub const RLIMIT_NPROC: ::c_int = 8;
+ pub const RLIMIT_MEMLOCK: ::c_int = 9;
++pub const RLIMIT_NLIMITS: ::c_int = 16;
++
++pub const MCL_CURRENT: ::c_int = 0x0001;
++pub const MCL_FUTURE: ::c_int = 0x0002;
++pub const CBAUD: ::tcflag_t = 0o0010017;
++pub const TAB1: ::c_int = 0x00000800;
++pub const TAB2: ::c_int = 0x00001000;
++pub const TAB3: ::c_int = 0x00001800;
++pub const CR1: ::c_int = 0x00000200;
++pub const CR2: ::c_int = 0x00000400;
++pub const CR3: ::c_int = 0x00000600;
++pub const FF1: ::c_int = 0x00008000;
++pub const BS1: ::c_int = 0x00002000;
++pub const VT1: ::c_int = 0x00004000;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 0x00000400;
++pub const IXOFF: ::tcflag_t = 0x00001000;
++pub const ONLCR: ::tcflag_t = 0x4;
++pub const CSIZE: ::tcflag_t = 0x00000030;
++pub const CS6: ::tcflag_t = 0x00000010;
++pub const CS7: ::tcflag_t = 0x00000020;
++pub const CS8: ::tcflag_t = 0x00000030;
++pub const CSTOPB: ::tcflag_t = 0x00000040;
++pub const CREAD: ::tcflag_t = 0x00000080;
++pub const PARENB: ::tcflag_t = 0x00000100;
++pub const PARODD: ::tcflag_t = 0x00000200;
++pub const HUPCL: ::tcflag_t = 0x00000400;
++pub const CLOCAL: ::tcflag_t = 0x00000800;
++pub const ECHOKE: ::tcflag_t = 0x00000800;
++pub const ECHOE: ::tcflag_t = 0x00000010;
++pub const ECHOK: ::tcflag_t = 0x00000020;
++pub const ECHONL: ::tcflag_t = 0x00000040;
++pub const ECHOPRT: ::tcflag_t = 0x00000400;
++pub const ECHOCTL: ::tcflag_t = 0x00000200;
++pub const ISIG: ::tcflag_t = 0x00000001;
++pub const ICANON: ::tcflag_t = 0x00000002;
++pub const PENDIN: ::tcflag_t = 0x00004000;
++pub const NOFLSH: ::tcflag_t = 0x00000080;
++pub const CIBAUD: ::tcflag_t = 0o02003600000;
++pub const CBAUDEX: ::tcflag_t = 0o010000;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 0o000002;
++pub const NLDLY: ::tcflag_t = 0o000400;
++pub const CRDLY: ::tcflag_t = 0o003000;
++pub const TABDLY: ::tcflag_t = 0o014000;
++pub const BSDLY: ::tcflag_t = 0o020000;
++pub const FFDLY: ::tcflag_t = 0o100000;
++pub const VTDLY: ::tcflag_t = 0o040000;
++pub const XTABS: ::tcflag_t = 0o014000;
++pub const B57600: ::speed_t = 0o010001;
++pub const B115200: ::speed_t = 0o010002;
++pub const B230400: ::speed_t = 0o010003;
++pub const B460800: ::speed_t = 0o010004;
++pub const B500000: ::speed_t = 0o010005;
++pub const B576000: ::speed_t = 0o010006;
++pub const B921600: ::speed_t = 0o010007;
++pub const B1000000: ::speed_t = 0o010010;
++pub const B1152000: ::speed_t = 0o010011;
++pub const B1500000: ::speed_t = 0o010012;
++pub const B2000000: ::speed_t = 0o010013;
++pub const B2500000: ::speed_t = 0o010014;
++pub const B3000000: ::speed_t = 0o010015;
++pub const B3500000: ::speed_t = 0o010016;
++pub const B4000000: ::speed_t = 0o010017;
+
+ pub const O_APPEND: ::c_int = 0o010;
+ pub const O_CREAT: ::c_int = 0o400;
+diff --git a/src/liblibc/src/unix/notbsd/linux/musl/b32/mod.rs b/src/liblibc/src/unix/notbsd/linux/musl/b32/mod.rs
+index b4a0f761636..4128a8e4da6 100644
+--- a/src/liblibc/src/unix/notbsd/linux/musl/b32/mod.rs
++++ b/src/liblibc/src/unix/notbsd/linux/musl/b32/mod.rs
+@@ -32,96 +32,13 @@ s! {
+ pub struct sem_t {
+ __val: [::c_int; 4],
+ }
+-
+- pub struct ipc_perm {
+- pub __ipc_perm_key: ::key_t,
+- pub uid: ::uid_t,
+- pub gid: ::gid_t,
+- pub cuid: ::uid_t,
+- pub cgid: ::gid_t,
+- pub mode: ::mode_t,
+- pub __seq: ::c_int,
+- __unused1: ::c_long,
+- __unused2: ::c_long
+- }
+ }
+
+-pub const SIGSTKSZ: ::size_t = 8192;
+-pub const MINSIGSTKSZ: ::size_t = 2048;
+-
+ pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32;
+ pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24;
+
+-pub const RLIMIT_NLIMITS: ::c_int = 16;
+ pub const TIOCINQ: ::c_int = ::FIONREAD;
+-pub const MCL_CURRENT: ::c_int = 0x0001;
+-pub const MCL_FUTURE: ::c_int = 0x0002;
+-pub const CBAUD: ::tcflag_t = 0o0010017;
+-pub const TAB1: ::c_int = 0x00000800;
+-pub const TAB2: ::c_int = 0x00001000;
+-pub const TAB3: ::c_int = 0x00001800;
+-pub const CR1: ::c_int = 0x00000200;
+-pub const CR2: ::c_int = 0x00000400;
+-pub const CR3: ::c_int = 0x00000600;
+-pub const FF1: ::c_int = 0x00008000;
+-pub const BS1: ::c_int = 0x00002000;
+-pub const VT1: ::c_int = 0x00004000;
+-pub const VWERASE: usize = 14;
+-pub const VREPRINT: usize = 12;
+-pub const VSUSP: usize = 10;
+-pub const VSTART: usize = 8;
+-pub const VSTOP: usize = 9;
+-pub const VDISCARD: usize = 13;
+-pub const VTIME: usize = 5;
+-pub const IXON: ::tcflag_t = 0x00000400;
+-pub const IXOFF: ::tcflag_t = 0x00001000;
+-pub const ONLCR: ::tcflag_t = 0x4;
+-pub const CSIZE: ::tcflag_t = 0x00000030;
+-pub const CS6: ::tcflag_t = 0x00000010;
+-pub const CS7: ::tcflag_t = 0x00000020;
+-pub const CS8: ::tcflag_t = 0x00000030;
+-pub const CSTOPB: ::tcflag_t = 0x00000040;
+-pub const CREAD: ::tcflag_t = 0x00000080;
+-pub const PARENB: ::tcflag_t = 0x00000100;
+-pub const PARODD: ::tcflag_t = 0x00000200;
+-pub const HUPCL: ::tcflag_t = 0x00000400;
+-pub const CLOCAL: ::tcflag_t = 0x00000800;
+-pub const ECHOKE: ::tcflag_t = 0x00000800;
+-pub const ECHOE: ::tcflag_t = 0x00000010;
+-pub const ECHOK: ::tcflag_t = 0x00000020;
+-pub const ECHONL: ::tcflag_t = 0x00000040;
+-pub const ECHOPRT: ::tcflag_t = 0x00000400;
+-pub const ECHOCTL: ::tcflag_t = 0x00000200;
+-pub const ISIG: ::tcflag_t = 0x00000001;
+-pub const ICANON: ::tcflag_t = 0x00000002;
+-pub const PENDIN: ::tcflag_t = 0x00004000;
+-pub const NOFLSH: ::tcflag_t = 0x00000080;
+-pub const CIBAUD: ::tcflag_t = 0o02003600000;
+-pub const CBAUDEX: ::tcflag_t = 0o010000;
+-pub const VSWTC: usize = 7;
+-pub const OLCUC: ::tcflag_t = 0o000002;
+-pub const NLDLY: ::tcflag_t = 0o000400;
+-pub const CRDLY: ::tcflag_t = 0o003000;
+-pub const TABDLY: ::tcflag_t = 0o014000;
+-pub const BSDLY: ::tcflag_t = 0o020000;
+-pub const FFDLY: ::tcflag_t = 0o100000;
+-pub const VTDLY: ::tcflag_t = 0o040000;
+-pub const XTABS: ::tcflag_t = 0o014000;
+-pub const B57600: ::speed_t = 0o010001;
+-pub const B115200: ::speed_t = 0o010002;
+-pub const B230400: ::speed_t = 0o010003;
+-pub const B460800: ::speed_t = 0o010004;
+-pub const B500000: ::speed_t = 0o010005;
+-pub const B576000: ::speed_t = 0o010006;
+-pub const B921600: ::speed_t = 0o010007;
+-pub const B1000000: ::speed_t = 0o010010;
+-pub const B1152000: ::speed_t = 0o010011;
+-pub const B1500000: ::speed_t = 0o010012;
+-pub const B2000000: ::speed_t = 0o010013;
+-pub const B2500000: ::speed_t = 0o010014;
+-pub const B3000000: ::speed_t = 0o010015;
+-pub const B3500000: ::speed_t = 0o010016;
+-pub const B4000000: ::speed_t = 0o010017;
++
+ extern {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+ }
+@@ -136,6 +53,9 @@ cfg_if! {
+ } else if #[cfg(any(target_arch = "arm"))] {
+ mod arm;
+ pub use self::arm::*;
++ } else if #[cfg(any(target_arch = "powerpc"))] {
++ mod powerpc;
++ pub use self::powerpc::*;
+ } else {
+ // Unknown target_arch
+ }
+diff --git a/src/liblibc/src/unix/notbsd/linux/musl/b32/powerpc.rs b/src/liblibc/src/unix/notbsd/linux/musl/b32/powerpc.rs
+new file mode 100644
+index 00000000000..50b6b57ef11
+--- /dev/null
++++ b/src/liblibc/src/unix/notbsd/linux/musl/b32/powerpc.rs
+@@ -0,0 +1,866 @@
++pub type c_char = u8;
++pub type wchar_t = i32;
++
++s! {
++ pub struct stat {
++ pub st_dev: ::dev_t,
++ pub st_ino: ::ino_t,
++ pub st_mode: ::mode_t,
++ pub st_nlink: ::nlink_t,
++ pub st_uid: ::uid_t,
++ pub st_gid: ::gid_t,
++ pub st_rdev: ::dev_t,
++ __st_rdev_padding: ::c_short,
++ pub st_size: ::off_t,
++ pub st_blksize: ::blksize_t,
++ pub st_blocks: ::blkcnt_t,
++ pub st_atime: ::time_t,
++ pub st_atime_nsec: ::c_long,
++ pub st_mtime: ::time_t,
++ pub st_mtime_nsec: ::c_long,
++ pub st_ctime: ::time_t,
++ pub st_ctime_nsec: ::c_long,
++ __unused: [::c_long; 2],
++ }
++
++ pub struct stat64 {
++ pub st_dev: ::dev_t,
++ pub st_ino: ::ino_t,
++ pub st_mode: ::mode_t,
++ pub st_nlink: ::nlink_t,
++ pub st_uid: ::uid_t,
++ pub st_gid: ::gid_t,
++ pub st_rdev: ::dev_t,
++ __st_rdev_padding: ::c_short,
++ pub st_size: ::off_t,
++ pub st_blksize: ::blksize_t,
++ pub st_blocks: ::blkcnt_t,
++ pub st_atime: ::time_t,
++ pub st_atime_nsec: ::c_long,
++ pub st_mtime: ::time_t,
++ pub st_mtime_nsec: ::c_long,
++ pub st_ctime: ::time_t,
++ pub st_ctime_nsec: ::c_long,
++ __unused: [::c_long; 2],
++ }
++
++ pub struct stack_t {
++ pub ss_sp: *mut ::c_void,
++ pub ss_flags: ::c_int,
++ pub ss_size: ::size_t
++ }
++
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __pad1: ::c_int,
++ __pad2: ::c_longlong,
++ __pad3: ::c_longlong
++ }
++
++ pub struct shmid_ds {
++ pub shm_perm: ::ipc_perm,
++ __unused1: ::c_int,
++ pub shm_atime: ::time_t,
++ __unused2: ::c_int,
++ pub shm_dtime: ::time_t,
++ __unused3: ::c_int,
++ pub shm_ctime: ::time_t,
++ __unused4: ::c_int,
++ pub shm_segsz: ::size_t,
++ pub shm_cpid: ::pid_t,
++ pub shm_lpid: ::pid_t,
++ pub shm_nattch: ::c_ulong,
++ __pad1: ::c_ulong,
++ __pad2: ::c_ulong,
++ }
++
++ pub struct msqid_ds {
++ pub msg_perm: ::ipc_perm,
++ __unused1: ::c_int,
++ pub msg_stime: ::time_t,
++ __unused2: ::c_int,
++ pub msg_rtime: ::time_t,
++ __unused3: ::c_int,
++ pub msg_ctime: ::time_t,
++ __msg_cbytes: ::c_ulong,
++ pub msg_qnum: ::msgqnum_t,
++ pub msg_qbytes: ::msglen_t,
++ pub msg_lspid: ::pid_t,
++ pub msg_lrpid: ::pid_t,
++ __pad1: ::c_ulong,
++ __pad2: ::c_ulong,
++ }
++
++ pub struct statfs {
++ pub f_type: ::c_ulong,
++ pub f_bsize: ::c_ulong,
++ pub f_blocks: ::fsblkcnt_t,
++ pub f_bfree: ::fsblkcnt_t,
++ pub f_bavail: ::fsblkcnt_t,
++ pub f_files: ::fsfilcnt_t,
++ pub f_ffree: ::fsfilcnt_t,
++ pub f_fsid: ::fsid_t,
++ pub f_namelen: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_flags: ::c_ulong,
++ pub f_spare: [::c_ulong; 4],
++ }
++
++ pub struct siginfo_t {
++ pub si_signo: ::c_int,
++ pub si_errno: ::c_int,
++ pub si_code: ::c_int,
++ pub _pad: [::c_int; 29],
++ _align: [usize; 0],
++ }
++
++ pub struct statfs64 {
++ pub f_type: ::c_ulong,
++ pub f_bsize: ::c_ulong,
++ pub f_blocks: ::fsblkcnt_t,
++ pub f_bfree: ::fsblkcnt_t,
++ pub f_bavail: ::fsblkcnt_t,
++ pub f_files: ::fsfilcnt_t,
++ pub f_ffree: ::fsfilcnt_t,
++ pub f_fsid: ::fsid_t,
++ pub f_namelen: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_flags: ::c_ulong,
++ pub f_spare: [::c_ulong; 4],
++ }
++
++ pub struct statvfs64 {
++ pub f_bsize: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_blocks: u64,
++ pub f_bfree: u64,
++ pub f_bavail: u64,
++ pub f_files: u64,
++ pub f_ffree: u64,
++ pub f_favail: u64,
++ #[cfg(target_endian = "little")]
++ pub f_fsid: ::c_ulong,
++ __f_unused: ::c_int,
++ #[cfg(target_endian = "big")]
++ pub f_fsid: ::c_ulong,
++ pub f_flag: ::c_ulong,
++ pub f_namemax: ::c_ulong,
++ __f_spare: [::c_int; 6],
++ }
++
++ pub struct termios2 {
++ pub c_iflag: ::tcflag_t,
++ pub c_oflag: ::tcflag_t,
++ pub c_cflag: ::tcflag_t,
++ pub c_lflag: ::tcflag_t,
++ pub c_cc: [::cc_t; 19],
++ pub c_line: ::cc_t,
++ pub c_ispeed: ::speed_t,
++ pub c_ospeed: ::speed_t,
++ }
++}
++
++pub const SIGSTKSZ: ::size_t = 10240;
++pub const MINSIGSTKSZ: ::size_t = 4096;
++
++pub const O_DIRECT: ::c_int = 0x20000;
++pub const O_DIRECTORY: ::c_int = 0x4000;
++pub const O_NOFOLLOW: ::c_int = 0x8000;
++pub const O_ASYNC: ::c_int = 0x2000;
++pub const O_LARGEFILE: ::c_int = 0x10000;
++
++pub const FIOCLEX: ::c_int = 0x20006601;
++pub const FIONBIO: ::c_int = 0x8004667E;
++
++pub const RLIMIT_RSS: ::c_int = 5;
++pub const RLIMIT_NOFILE: ::c_int = 7;
++pub const RLIMIT_AS: ::c_int = 9;
++pub const RLIMIT_NPROC: ::c_int = 6;
++pub const RLIMIT_MEMLOCK: ::c_int = 8;
++pub const RLIMIT_NLIMITS: ::c_int = 15;
++
++pub const MCL_CURRENT: ::c_int = 0x2000;
++pub const MCL_FUTURE: ::c_int = 0x4000;
++pub const CBAUD: ::tcflag_t = 0o0000377;
++pub const TAB1: ::c_int = 0x00000400;
++pub const TAB2: ::c_int = 0x00000800;
++pub const TAB3: ::c_int = 0x00000C00;
++pub const CR1: ::c_int = 0x00001000;
++pub const CR2: ::c_int = 0x00002000;
++pub const CR3: ::c_int = 0x00003000;
++pub const FF1: ::c_int = 0x00004000;
++pub const BS1: ::c_int = 0x00008000;
++pub const VT1: ::c_int = 0x00010000;
++pub const VWERASE: usize = 10;
++pub const VREPRINT: usize = 11;
++pub const VSUSP: usize = 12;
++pub const VSTART: usize = 13;
++pub const VSTOP: usize = 14;
++pub const VDISCARD: usize = 16;
++pub const VTIME: usize = 7;
++pub const IXON: ::tcflag_t = 0x00000200;
++pub const IXOFF: ::tcflag_t = 0x00000400;
++pub const ONLCR: ::tcflag_t = 0x00000002;
++pub const CSIZE: ::tcflag_t = 0x00000300;
++pub const CS6: ::tcflag_t = 0x00000100;
++pub const CS7: ::tcflag_t = 0x00000200;
++pub const CS8: ::tcflag_t = 0x00000300;
++pub const CSTOPB: ::tcflag_t = 0x00000400;
++pub const CREAD: ::tcflag_t = 0x00000800;
++pub const PARENB: ::tcflag_t = 0x00001000;
++pub const PARODD: ::tcflag_t = 0x00002000;
++pub const HUPCL: ::tcflag_t = 0x00004000;
++pub const CLOCAL: ::tcflag_t = 0x00008000;
++pub const ECHOKE: ::tcflag_t = 0x00000001;
++pub const ECHOE: ::tcflag_t = 0x00000002;
++pub const ECHOK: ::tcflag_t = 0x00000004;
++pub const ECHONL: ::tcflag_t = 0x00000010;
++pub const ECHOPRT: ::tcflag_t = 0x00000020;
++pub const ECHOCTL: ::tcflag_t = 0x00000040;
++pub const ISIG: ::tcflag_t = 0x00000080;
++pub const ICANON: ::tcflag_t = 0x00000100;
++pub const PENDIN: ::tcflag_t = 0x20000000;
++pub const NOFLSH: ::tcflag_t = 0x80000000;
++pub const CIBAUD: ::tcflag_t = 0o00077600000;
++pub const CBAUDEX: ::tcflag_t = 0o000020;
++pub const VSWTC: usize = 9;
++pub const OLCUC: ::tcflag_t = 0o000004;
++pub const NLDLY: ::tcflag_t = 0o001400;
++pub const CRDLY: ::tcflag_t = 0o030000;
++pub const TABDLY: ::tcflag_t = 0o006000;
++pub const BSDLY: ::tcflag_t = 0o100000;
++pub const FFDLY: ::tcflag_t = 0o040000;
++pub const VTDLY: ::tcflag_t = 0o200000;
++pub const XTABS: ::tcflag_t = 0o006000;
++pub const B57600: ::speed_t = 0o000020;
++pub const B115200: ::speed_t = 0o000021;
++pub const B230400: ::speed_t = 0o000022;
++pub const B460800: ::speed_t = 0o000023;
++pub const B500000: ::speed_t = 0o000024;
++pub const B576000: ::speed_t = 0o000025;
++pub const B921600: ::speed_t = 0o000026;
++pub const B1000000: ::speed_t = 0o000027;
++pub const B1152000: ::speed_t = 0o000030;
++pub const B1500000: ::speed_t = 0o000031;
++pub const B2000000: ::speed_t = 0o000032;
++pub const B2500000: ::speed_t = 0o000033;
++pub const B3000000: ::speed_t = 0o000034;
++pub const B3500000: ::speed_t = 0o000035;
++pub const B4000000: ::speed_t = 0o000036;
++
++pub const O_APPEND: ::c_int = 1024;
++pub const O_CREAT: ::c_int = 64;
++pub const O_EXCL: ::c_int = 128;
++pub const O_NOCTTY: ::c_int = 256;
++pub const O_NONBLOCK: ::c_int = 2048;
++pub const O_SYNC: ::c_int = 1052672;
++pub const O_RSYNC: ::c_int = 1052672;
++pub const O_DSYNC: ::c_int = 4096;
++
++pub const SOCK_NONBLOCK: ::c_int = 2048;
++
++pub const MAP_ANON: ::c_int = 0x0020;
++pub const MAP_GROWSDOWN: ::c_int = 0x0100;
++pub const MAP_DENYWRITE: ::c_int = 0x0800;
++pub const MAP_EXECUTABLE: ::c_int = 0x01000;
++pub const MAP_LOCKED: ::c_int = 0x00080;
++pub const MAP_NORESERVE: ::c_int = 0x00040;
++pub const MAP_POPULATE: ::c_int = 0x08000;
++pub const MAP_NONBLOCK: ::c_int = 0x010000;
++pub const MAP_STACK: ::c_int = 0x020000;
++
++pub const SOCK_STREAM: ::c_int = 1;
++pub const SOCK_DGRAM: ::c_int = 2;
++pub const SOCK_SEQPACKET: ::c_int = 5;
++
++pub const SOL_SOCKET: ::c_int = 1;
++
++pub const EDEADLK: ::c_int = 35;
++pub const ENAMETOOLONG: ::c_int = 36;
++pub const ENOLCK: ::c_int = 37;
++pub const ENOSYS: ::c_int = 38;
++pub const ENOTEMPTY: ::c_int = 39;
++pub const ELOOP: ::c_int = 40;
++pub const ENOMSG: ::c_int = 42;
++pub const EIDRM: ::c_int = 43;
++pub const ECHRNG: ::c_int = 44;
++pub const EL2NSYNC: ::c_int = 45;
++pub const EL3HLT: ::c_int = 46;
++pub const EL3RST: ::c_int = 47;
++pub const ELNRNG: ::c_int = 48;
++pub const EUNATCH: ::c_int = 49;
++pub const ENOCSI: ::c_int = 50;
++pub const EL2HLT: ::c_int = 51;
++pub const EBADE: ::c_int = 52;
++pub const EBADR: ::c_int = 53;
++pub const EXFULL: ::c_int = 54;
++pub const ENOANO: ::c_int = 55;
++pub const EBADRQC: ::c_int = 56;
++pub const EBADSLT: ::c_int = 57;
++pub const EDEADLOCK: ::c_int = 58;
++pub const EMULTIHOP: ::c_int = 72;
++pub const EBADMSG: ::c_int = 74;
++pub const EOVERFLOW: ::c_int = 75;
++pub const ENOTUNIQ: ::c_int = 76;
++pub const EBADFD: ::c_int = 77;
++pub const EREMCHG: ::c_int = 78;
++pub const ELIBACC: ::c_int = 79;
++pub const ELIBBAD: ::c_int = 80;
++pub const ELIBSCN: ::c_int = 81;
++pub const ELIBMAX: ::c_int = 82;
++pub const ELIBEXEC: ::c_int = 83;
++pub const EILSEQ: ::c_int = 84;
++pub const ERESTART: ::c_int = 85;
++pub const ESTRPIPE: ::c_int = 86;
++pub const EUSERS: ::c_int = 87;
++pub const ENOTSOCK: ::c_int = 88;
++pub const EDESTADDRREQ: ::c_int = 89;
++pub const EMSGSIZE: ::c_int = 90;
++pub const EPROTOTYPE: ::c_int = 91;
++pub const ENOPROTOOPT: ::c_int = 92;
++pub const EPROTONOSUPPORT: ::c_int = 93;
++pub const ESOCKTNOSUPPORT: ::c_int = 94;
++pub const EOPNOTSUPP: ::c_int = 95;
++pub const ENOTSUP: ::c_int = EOPNOTSUPP;
++pub const EPFNOSUPPORT: ::c_int = 96;
++pub const EAFNOSUPPORT: ::c_int = 97;
++pub const EADDRINUSE: ::c_int = 98;
++pub const EADDRNOTAVAIL: ::c_int = 99;
++pub const ENETDOWN: ::c_int = 100;
++pub const ENETUNREACH: ::c_int = 101;
++pub const ENETRESET: ::c_int = 102;
++pub const ECONNABORTED: ::c_int = 103;
++pub const ECONNRESET: ::c_int = 104;
++pub const ENOBUFS: ::c_int = 105;
++pub const EISCONN: ::c_int = 106;
++pub const ENOTCONN: ::c_int = 107;
++pub const ESHUTDOWN: ::c_int = 108;
++pub const ETOOMANYREFS: ::c_int = 109;
++pub const ETIMEDOUT: ::c_int = 110;
++pub const ECONNREFUSED: ::c_int = 111;
++pub const EHOSTDOWN: ::c_int = 112;
++pub const EHOSTUNREACH: ::c_int = 113;
++pub const EALREADY: ::c_int = 114;
++pub const EINPROGRESS: ::c_int = 115;
++pub const ESTALE: ::c_int = 116;
++pub const EUCLEAN: ::c_int = 117;
++pub const ENOTNAM: ::c_int = 118;
++pub const ENAVAIL: ::c_int = 119;
++pub const EISNAM: ::c_int = 120;
++pub const EREMOTEIO: ::c_int = 121;
++pub const EDQUOT: ::c_int = 122;
++pub const ENOMEDIUM: ::c_int = 123;
++pub const EMEDIUMTYPE: ::c_int = 124;
++pub const ECANCELED: ::c_int = 125;
++pub const ENOKEY: ::c_int = 126;
++pub const EKEYEXPIRED: ::c_int = 127;
++pub const EKEYREVOKED: ::c_int = 128;
++pub const EKEYREJECTED: ::c_int = 129;
++pub const EOWNERDEAD: ::c_int = 130;
++pub const ENOTRECOVERABLE: ::c_int = 131;
++pub const ERFKILL: ::c_int = 132;
++pub const EHWPOISON: ::c_int = 133;
++
++pub const SO_REUSEADDR: ::c_int = 2;
++pub const SO_TYPE: ::c_int = 3;
++pub const SO_ERROR: ::c_int = 4;
++pub const SO_DONTROUTE: ::c_int = 5;
++pub const SO_BROADCAST: ::c_int = 6;
++pub const SO_SNDBUF: ::c_int = 7;
++pub const SO_RCVBUF: ::c_int = 8;
++pub const SO_KEEPALIVE: ::c_int = 9;
++pub const SO_OOBINLINE: ::c_int = 10;
++pub const SO_NO_CHECK: ::c_int = 11;
++pub const SO_PRIORITY: ::c_int = 12;
++pub const SO_LINGER: ::c_int = 13;
++pub const SO_BSDCOMPAT: ::c_int = 14;
++pub const SO_REUSEPORT: ::c_int = 15;
++pub const SO_RCVLOWAT: ::c_int = 16;
++pub const SO_SNDLOWAT: ::c_int = 17;
++pub const SO_RCVTIMEO: ::c_int = 18;
++pub const SO_SNDTIMEO: ::c_int = 19;
++pub const SO_PASSCRED: ::c_int = 20;
++pub const SO_PEERCRED: ::c_int = 21;
++pub const SO_ACCEPTCONN: ::c_int = 30;
++pub const SO_SNDBUFFORCE: ::c_int = 32;
++pub const SO_RCVBUFFORCE: ::c_int = 33;
++pub const SO_PROTOCOL: ::c_int = 38;
++pub const SO_DOMAIN: ::c_int = 39;
++
++pub const SA_ONSTACK: ::c_int = 0x08000000;
++pub const SA_SIGINFO: ::c_int = 0x00000004;
++pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
++
++pub const SIGCHLD: ::c_int = 17;
++pub const SIGBUS: ::c_int = 7;
++pub const SIGTTIN: ::c_int = 21;
++pub const SIGTTOU: ::c_int = 22;
++pub const SIGXCPU: ::c_int = 24;
++pub const SIGXFSZ: ::c_int = 25;
++pub const SIGVTALRM: ::c_int = 26;
++pub const SIGPROF: ::c_int = 27;
++pub const SIGWINCH: ::c_int = 28;
++pub const SIGUSR1: ::c_int = 10;
++pub const SIGUSR2: ::c_int = 12;
++pub const SIGCONT: ::c_int = 18;
++pub const SIGSTOP: ::c_int = 19;
++pub const SIGTSTP: ::c_int = 20;
++pub const SIGURG: ::c_int = 23;
++pub const SIGIO: ::c_int = 29;
++pub const SIGSYS: ::c_int = 31;
++pub const SIGSTKFLT: ::c_int = 16;
++pub const SIGPOLL: ::c_int = 29;
++pub const SIGPWR: ::c_int = 30;
++pub const SIG_SETMASK: ::c_int = 2;
++pub const SIG_BLOCK: ::c_int = 0x000000;
++pub const SIG_UNBLOCK: ::c_int = 0x01;
++
++pub const EXTPROC: ::tcflag_t = 0x10000000;
++
++pub const MAP_HUGETLB: ::c_int = 0x040000;
++
++pub const F_GETLK: ::c_int = 12;
++pub const F_GETOWN: ::c_int = 9;
++pub const F_SETLK: ::c_int = 13;
++pub const F_SETLKW: ::c_int = 14;
++pub const F_SETOWN: ::c_int = 8;
++
++pub const VEOF: usize = 4;
++pub const VEOL: usize = 6;
++pub const VEOL2: usize = 8;
++pub const VMIN: usize = 5;
++pub const IEXTEN: ::tcflag_t = 0x00000400;
++pub const TOSTOP: ::tcflag_t = 0x00400000;
++pub const FLUSHO: ::tcflag_t = 0x00800000;
++
++pub const TCGETS: ::c_int = 0x402C7413;
++pub const TCSETS: ::c_int = 0x802C7414;
++pub const TCSETSW: ::c_int = 0x802C7415;
++pub const TCSETSF: ::c_int = 0x802C7416;
++pub const TCGETA: ::c_int = 0x40147417;
++pub const TCSETA: ::c_int = 0x80147418;
++pub const TCSETAW: ::c_int = 0x80147419;
++pub const TCSETAF: ::c_int = 0x8014741C;
++pub const TCSBRK: ::c_int = 0x2000741D;
++pub const TCXONC: ::c_int = 0x2000741E;
++pub const TCFLSH: ::c_int = 0x2000741F;
++pub const TIOCGSOFTCAR: ::c_int = 0x5419;
++pub const TIOCSSOFTCAR: ::c_int = 0x541A;
++pub const TIOCLINUX: ::c_int = 0x541C;
++pub const TIOCGSERIAL: ::c_int = 0x541E;
++pub const TIOCEXCL: ::c_int = 0x540C;
++pub const TIOCNXCL: ::c_int = 0x540D;
++pub const TIOCSCTTY: ::c_int = 0x540E;
++pub const TIOCGPGRP: ::c_int = 0x40047477;
++pub const TIOCSPGRP: ::c_int = 0x80047476;
++pub const TIOCOUTQ: ::c_int = 0x40047473;
++pub const TIOCSTI: ::c_int = 0x5412;
++pub const TIOCGWINSZ: ::c_int = 0x40087468;
++pub const TIOCSWINSZ: ::c_int = 0x80087467;
++pub const TIOCMGET: ::c_int = 0x5415;
++pub const TIOCMBIS: ::c_int = 0x5416;
++pub const TIOCMBIC: ::c_int = 0x5417;
++pub const TIOCMSET: ::c_int = 0x5418;
++pub const FIONREAD: ::c_int = 0x4004667F;
++pub const TIOCCONS: ::c_int = 0x541D;
++
++pub const POLLWRNORM: ::c_short = 0x100;
++pub const POLLWRBAND: ::c_short = 0x200;
++
++pub const TIOCM_LE: ::c_int = 0x001;
++pub const TIOCM_DTR: ::c_int = 0x002;
++pub const TIOCM_RTS: ::c_int = 0x004;
++pub const TIOCM_ST: ::c_int = 0x008;
++pub const TIOCM_SR: ::c_int = 0x010;
++pub const TIOCM_CTS: ::c_int = 0x020;
++pub const TIOCM_CAR: ::c_int = 0x040;
++pub const TIOCM_RNG: ::c_int = 0x080;
++pub const TIOCM_DSR: ::c_int = 0x100;
++pub const TIOCM_CD: ::c_int = TIOCM_CAR;
++pub const TIOCM_RI: ::c_int = TIOCM_RNG;
++
++// Syscall table
++pub const SYS_restart_syscall: ::c_long = 0;
++pub const SYS_exit: ::c_long = 1;
++pub const SYS_fork: ::c_long = 2;
++pub const SYS_read: ::c_long = 3;
++pub const SYS_write: ::c_long = 4;
++pub const SYS_open: ::c_long = 5;
++pub const SYS_close: ::c_long = 6;
++pub const SYS_waitpid: ::c_long = 7;
++pub const SYS_creat: ::c_long = 8;
++pub const SYS_link: ::c_long = 9;
++pub const SYS_unlink: ::c_long = 10;
++pub const SYS_execve: ::c_long = 11;
++pub const SYS_chdir: ::c_long = 12;
++pub const SYS_time: ::c_long = 13;
++pub const SYS_mknod: ::c_long = 14;
++pub const SYS_chmod: ::c_long = 15;
++pub const SYS_lchown: ::c_long = 16;
++pub const SYS_break: ::c_long = 17;
++pub const SYS_oldstat: ::c_long = 18;
++pub const SYS_lseek: ::c_long = 19;
++pub const SYS_getpid: ::c_long = 20;
++pub const SYS_mount: ::c_long = 21;
++pub const SYS_umount: ::c_long = 22;
++pub const SYS_setuid: ::c_long = 23;
++pub const SYS_getuid: ::c_long = 24;
++pub const SYS_stime: ::c_long = 25;
++pub const SYS_ptrace: ::c_long = 26;
++pub const SYS_alarm: ::c_long = 27;
++pub const SYS_oldfstat: ::c_long = 28;
++pub const SYS_pause: ::c_long = 29;
++pub const SYS_utime: ::c_long = 30;
++pub const SYS_stty: ::c_long = 31;
++pub const SYS_gtty: ::c_long = 32;
++pub const SYS_access: ::c_long = 33;
++pub const SYS_nice: ::c_long = 34;
++pub const SYS_ftime: ::c_long = 35;
++pub const SYS_sync: ::c_long = 36;
++pub const SYS_kill: ::c_long = 37;
++pub const SYS_rename: ::c_long = 38;
++pub const SYS_mkdir: ::c_long = 39;
++pub const SYS_rmdir: ::c_long = 40;
++pub const SYS_dup: ::c_long = 41;
++pub const SYS_pipe: ::c_long = 42;
++pub const SYS_times: ::c_long = 43;
++pub const SYS_prof: ::c_long = 44;
++pub const SYS_brk: ::c_long = 45;
++pub const SYS_setgid: ::c_long = 46;
++pub const SYS_getgid: ::c_long = 47;
++pub const SYS_signal: ::c_long = 48;
++pub const SYS_geteuid: ::c_long = 49;
++pub const SYS_getegid: ::c_long = 50;
++pub const SYS_acct: ::c_long = 51;
++pub const SYS_umount2: ::c_long = 52;
++pub const SYS_lock: ::c_long = 53;
++pub const SYS_ioctl: ::c_long = 54;
++pub const SYS_fcntl: ::c_long = 55;
++pub const SYS_mpx: ::c_long = 56;
++pub const SYS_setpgid: ::c_long = 57;
++pub const SYS_ulimit: ::c_long = 58;
++pub const SYS_oldolduname: ::c_long = 59;
++pub const SYS_umask: ::c_long = 60;
++pub const SYS_chroot: ::c_long = 61;
++pub const SYS_ustat: ::c_long = 62;
++pub const SYS_dup2: ::c_long = 63;
++pub const SYS_getppid: ::c_long = 64;
++pub const SYS_getpgrp: ::c_long = 65;
++pub const SYS_setsid: ::c_long = 66;
++pub const SYS_sigaction: ::c_long = 67;
++pub const SYS_sgetmask: ::c_long = 68;
++pub const SYS_ssetmask: ::c_long = 69;
++pub const SYS_setreuid: ::c_long = 70;
++pub const SYS_setregid: ::c_long = 71;
++pub const SYS_sigsuspend: ::c_long = 72;
++pub const SYS_sigpending: ::c_long = 73;
++pub const SYS_sethostname: ::c_long = 74;
++pub const SYS_setrlimit: ::c_long = 75;
++pub const SYS_getrlimit: ::c_long = 76;
++pub const SYS_getrusage: ::c_long = 77;
++pub const SYS_gettimeofday: ::c_long = 78;
++pub const SYS_settimeofday: ::c_long = 79;
++pub const SYS_getgroups: ::c_long = 80;
++pub const SYS_setgroups: ::c_long = 81;
++pub const SYS_select: ::c_long = 82;
++pub const SYS_symlink: ::c_long = 83;
++pub const SYS_oldlstat: ::c_long = 84;
++pub const SYS_readlink: ::c_long = 85;
++pub const SYS_uselib: ::c_long = 86;
++pub const SYS_swapon: ::c_long = 87;
++pub const SYS_reboot: ::c_long = 88;
++pub const SYS_readdir: ::c_long = 89;
++pub const SYS_mmap: ::c_long = 90;
++pub const SYS_munmap: ::c_long = 91;
++pub const SYS_truncate: ::c_long = 92;
++pub const SYS_ftruncate: ::c_long = 93;
++pub const SYS_fchmod: ::c_long = 94;
++pub const SYS_fchown: ::c_long = 95;
++pub const SYS_getpriority: ::c_long = 96;
++pub const SYS_setpriority: ::c_long = 97;
++pub const SYS_profil: ::c_long = 98;
++pub const SYS_statfs: ::c_long = 99;
++pub const SYS_fstatfs: ::c_long = 100;
++pub const SYS_ioperm: ::c_long = 101;
++pub const SYS_socketcall: ::c_long = 102;
++pub const SYS_syslog: ::c_long = 103;
++pub const SYS_setitimer: ::c_long = 104;
++pub const SYS_getitimer: ::c_long = 105;
++pub const SYS_stat: ::c_long = 106;
++pub const SYS_lstat: ::c_long = 107;
++pub const SYS_fstat: ::c_long = 108;
++pub const SYS_olduname: ::c_long = 109;
++pub const SYS_iopl: ::c_long = 110;
++pub const SYS_vhangup: ::c_long = 111;
++pub const SYS_idle: ::c_long = 112;
++pub const SYS_vm86: ::c_long = 113;
++pub const SYS_wait4: ::c_long = 114;
++pub const SYS_swapoff: ::c_long = 115;
++pub const SYS_sysinfo: ::c_long = 116;
++pub const SYS_ipc: ::c_long = 117;
++pub const SYS_fsync: ::c_long = 118;
++pub const SYS_sigreturn: ::c_long = 119;
++pub const SYS_clone: ::c_long = 120;
++pub const SYS_setdomainname: ::c_long = 121;
++pub const SYS_uname: ::c_long = 122;
++pub const SYS_modify_ldt: ::c_long = 123;
++pub const SYS_adjtimex: ::c_long = 124;
++pub const SYS_mprotect: ::c_long = 125;
++pub const SYS_sigprocmask: ::c_long = 126;
++pub const SYS_create_module: ::c_long = 127;
++pub const SYS_init_module: ::c_long = 128;
++pub const SYS_delete_module: ::c_long = 129;
++pub const SYS_get_kernel_syms: ::c_long = 130;
++pub const SYS_quotactl: ::c_long = 131;
++pub const SYS_getpgid: ::c_long = 132;
++pub const SYS_fchdir: ::c_long = 133;
++pub const SYS_bdflush: ::c_long = 134;
++pub const SYS_sysfs: ::c_long = 135;
++pub const SYS_personality: ::c_long = 136;
++pub const SYS_afs_syscall: ::c_long = 137;
++pub const SYS_setfsuid: ::c_long = 138;
++pub const SYS_setfsgid: ::c_long = 139;
++pub const SYS__llseek: ::c_long = 140;
++pub const SYS_getdents: ::c_long = 141;
++pub const SYS__newselect: ::c_long = 142;
++pub const SYS_flock: ::c_long = 143;
++pub const SYS_msync: ::c_long = 144;
++pub const SYS_readv: ::c_long = 145;
++pub const SYS_writev: ::c_long = 146;
++pub const SYS_getsid: ::c_long = 147;
++pub const SYS_fdatasync: ::c_long = 148;
++pub const SYS__sysctl: ::c_long = 149;
++pub const SYS_mlock: ::c_long = 150;
++pub const SYS_munlock: ::c_long = 151;
++pub const SYS_mlockall: ::c_long = 152;
++pub const SYS_munlockall: ::c_long = 153;
++pub const SYS_sched_setparam: ::c_long = 154;
++pub const SYS_sched_getparam: ::c_long = 155;
++pub const SYS_sched_setscheduler: ::c_long = 156;
++pub const SYS_sched_getscheduler: ::c_long = 157;
++pub const SYS_sched_yield: ::c_long = 158;
++pub const SYS_sched_get_priority_max: ::c_long = 159;
++pub const SYS_sched_get_priority_min: ::c_long = 160;
++pub const SYS_sched_rr_get_interval: ::c_long = 161;
++pub const SYS_nanosleep: ::c_long = 162;
++pub const SYS_mremap: ::c_long = 163;
++pub const SYS_setresuid: ::c_long = 164;
++pub const SYS_getresuid: ::c_long = 165;
++pub const SYS_query_module: ::c_long = 166;
++pub const SYS_poll: ::c_long = 167;
++pub const SYS_nfsservctl: ::c_long = 168;
++pub const SYS_setresgid: ::c_long = 169;
++pub const SYS_getresgid: ::c_long = 170;
++pub const SYS_prctl: ::c_long = 171;
++pub const SYS_rt_sigreturn: ::c_long = 172;
++pub const SYS_rt_sigaction: ::c_long = 173;
++pub const SYS_rt_sigprocmask: ::c_long = 174;
++pub const SYS_rt_sigpending: ::c_long = 175;
++pub const SYS_rt_sigtimedwait: ::c_long = 176;
++pub const SYS_rt_sigqueueinfo: ::c_long = 177;
++pub const SYS_rt_sigsuspend: ::c_long = 178;
++pub const SYS_pread64: ::c_long = 179;
++pub const SYS_pwrite64: ::c_long = 180;
++pub const SYS_chown: ::c_long = 181;
++pub const SYS_getcwd: ::c_long = 182;
++pub const SYS_capget: ::c_long = 183;
++pub const SYS_capset: ::c_long = 184;
++pub const SYS_sigaltstack: ::c_long = 185;
++pub const SYS_sendfile: ::c_long = 186;
++pub const SYS_getpmsg: ::c_long = 187;
++pub const SYS_putpmsg: ::c_long = 188;
++pub const SYS_vfork: ::c_long = 189;
++pub const SYS_ugetrlimit: ::c_long = 190;
++pub const SYS_readahead: ::c_long = 191;
++pub const SYS_mmap2: ::c_long = 192;
++pub const SYS_truncate64: ::c_long = 193;
++pub const SYS_ftruncate64: ::c_long = 194;
++pub const SYS_stat64: ::c_long = 195;
++pub const SYS_lstat64: ::c_long = 196;
++pub const SYS_fstat64: ::c_long = 197;
++pub const SYS_pciconfig_read: ::c_long = 198;
++pub const SYS_pciconfig_write: ::c_long = 199;
++pub const SYS_pciconfig_iobase: ::c_long = 200;
++pub const SYS_multiplexer: ::c_long = 201;
++pub const SYS_getdents64: ::c_long = 202;
++pub const SYS_pivot_root: ::c_long = 203;
++pub const SYS_fcntl64: ::c_long = 204;
++pub const SYS_madvise: ::c_long = 205;
++pub const SYS_mincore: ::c_long = 206;
++pub const SYS_gettid: ::c_long = 207;
++pub const SYS_tkill: ::c_long = 208;
++pub const SYS_setxattr: ::c_long = 209;
++pub const SYS_lsetxattr: ::c_long = 210;
++pub const SYS_fsetxattr: ::c_long = 211;
++pub const SYS_getxattr: ::c_long = 212;
++pub const SYS_lgetxattr: ::c_long = 213;
++pub const SYS_fgetxattr: ::c_long = 214;
++pub const SYS_listxattr: ::c_long = 215;
++pub const SYS_llistxattr: ::c_long = 216;
++pub const SYS_flistxattr: ::c_long = 217;
++pub const SYS_removexattr: ::c_long = 218;
++pub const SYS_lremovexattr: ::c_long = 219;
++pub const SYS_fremovexattr: ::c_long = 220;
++pub const SYS_futex: ::c_long = 221;
++pub const SYS_sched_setaffinity: ::c_long = 222;
++pub const SYS_sched_getaffinity: ::c_long = 223;
++pub const SYS_tuxcall: ::c_long = 225;
++pub const SYS_sendfile64: ::c_long = 226;
++pub const SYS_io_setup: ::c_long = 227;
++pub const SYS_io_destroy: ::c_long = 228;
++pub const SYS_io_getevents: ::c_long = 229;
++pub const SYS_io_submit: ::c_long = 230;
++pub const SYS_io_cancel: ::c_long = 231;
++pub const SYS_set_tid_address: ::c_long = 232;
++pub const SYS_fadvise64: ::c_long = 233;
++pub const SYS_exit_group: ::c_long = 234;
++pub const SYS_lookup_dcookie: ::c_long = 235;
++pub const SYS_epoll_create: ::c_long = 236;
++pub const SYS_epoll_ctl: ::c_long = 237;
++pub const SYS_epoll_wait: ::c_long = 238;
++pub const SYS_remap_file_pages: ::c_long = 239;
++pub const SYS_timer_create: ::c_long = 240;
++pub const SYS_timer_settime: ::c_long = 241;
++pub const SYS_timer_gettime: ::c_long = 242;
++pub const SYS_timer_getoverrun: ::c_long = 243;
++pub const SYS_timer_delete: ::c_long = 244;
++pub const SYS_clock_settime: ::c_long = 245;
++pub const SYS_clock_gettime: ::c_long = 246;
++pub const SYS_clock_getres: ::c_long = 247;
++pub const SYS_clock_nanosleep: ::c_long = 248;
++pub const SYS_swapcontext: ::c_long = 249;
++pub const SYS_tgkill: ::c_long = 250;
++pub const SYS_utimes: ::c_long = 251;
++pub const SYS_statfs64: ::c_long = 252;
++pub const SYS_fstatfs64: ::c_long = 253;
++pub const SYS_fadvise64_64: ::c_long = 254;
++pub const SYS_rtas: ::c_long = 255;
++pub const SYS_sys_debug_setcontext: ::c_long = 256;
++pub const SYS_migrate_pages: ::c_long = 258;
++pub const SYS_mbind: ::c_long = 259;
++pub const SYS_get_mempolicy: ::c_long = 260;
++pub const SYS_set_mempolicy: ::c_long = 261;
++pub const SYS_mq_open: ::c_long = 262;
++pub const SYS_mq_unlink: ::c_long = 263;
++pub const SYS_mq_timedsend: ::c_long = 264;
++pub const SYS_mq_timedreceive: ::c_long = 265;
++pub const SYS_mq_notify: ::c_long = 266;
++pub const SYS_mq_getsetattr: ::c_long = 267;
++pub const SYS_kexec_load: ::c_long = 268;
++pub const SYS_add_key: ::c_long = 269;
++pub const SYS_request_key: ::c_long = 270;
++pub const SYS_keyctl: ::c_long = 271;
++pub const SYS_waitid: ::c_long = 272;
++pub const SYS_ioprio_set: ::c_long = 273;
++pub const SYS_ioprio_get: ::c_long = 274;
++pub const SYS_inotify_init: ::c_long = 275;
++pub const SYS_inotify_add_watch: ::c_long = 276;
++pub const SYS_inotify_rm_watch: ::c_long = 277;
++pub const SYS_spu_run: ::c_long = 278;
++pub const SYS_spu_create: ::c_long = 279;
++pub const SYS_pselect6: ::c_long = 280;
++pub const SYS_ppoll: ::c_long = 281;
++pub const SYS_unshare: ::c_long = 282;
++pub const SYS_splice: ::c_long = 283;
++pub const SYS_tee: ::c_long = 284;
++pub const SYS_vmsplice: ::c_long = 285;
++pub const SYS_openat: ::c_long = 286;
++pub const SYS_mkdirat: ::c_long = 287;
++pub const SYS_mknodat: ::c_long = 288;
++pub const SYS_fchownat: ::c_long = 289;
++pub const SYS_futimesat: ::c_long = 290;
++pub const SYS_fstatat64: ::c_long = 291;
++pub const SYS_unlinkat: ::c_long = 292;
++pub const SYS_renameat: ::c_long = 293;
++pub const SYS_linkat: ::c_long = 294;
++pub const SYS_symlinkat: ::c_long = 295;
++pub const SYS_readlinkat: ::c_long = 296;
++pub const SYS_fchmodat: ::c_long = 297;
++pub const SYS_faccessat: ::c_long = 298;
++pub const SYS_get_robust_list: ::c_long = 299;
++pub const SYS_set_robust_list: ::c_long = 300;
++pub const SYS_move_pages: ::c_long = 301;
++pub const SYS_getcpu: ::c_long = 302;
++pub const SYS_epoll_pwait: ::c_long = 303;
++pub const SYS_utimensat: ::c_long = 304;
++pub const SYS_signalfd: ::c_long = 305;
++pub const SYS_timerfd_create: ::c_long = 306;
++pub const SYS_eventfd: ::c_long = 307;
++pub const SYS_sync_file_range2: ::c_long = 308;
++pub const SYS_fallocate: ::c_long = 309;
++pub const SYS_subpage_prot: ::c_long = 310;
++pub const SYS_timerfd_settime: ::c_long = 311;
++pub const SYS_timerfd_gettime: ::c_long = 312;
++pub const SYS_signalfd4: ::c_long = 313;
++pub const SYS_eventfd2: ::c_long = 314;
++pub const SYS_epoll_create1: ::c_long = 315;
++pub const SYS_dup3: ::c_long = 316;
++pub const SYS_pipe2: ::c_long = 317;
++pub const SYS_inotify_init1: ::c_long = 318;
++pub const SYS_perf_event_open: ::c_long = 319;
++pub const SYS_preadv: ::c_long = 320;
++pub const SYS_pwritev: ::c_long = 321;
++pub const SYS_rt_tgsigqueueinfo: ::c_long = 322;
++pub const SYS_fanotify_init: ::c_long = 323;
++pub const SYS_fanotify_mark: ::c_long = 324;
++pub const SYS_prlimit64: ::c_long = 325;
++pub const SYS_socket: ::c_long = 326;
++pub const SYS_bind: ::c_long = 327;
++pub const SYS_connect: ::c_long = 328;
++pub const SYS_listen: ::c_long = 329;
++pub const SYS_accept: ::c_long = 330;
++pub const SYS_getsockname: ::c_long = 331;
++pub const SYS_getpeername: ::c_long = 332;
++pub const SYS_socketpair: ::c_long = 333;
++pub const SYS_send: ::c_long = 334;
++pub const SYS_sendto: ::c_long = 335;
++pub const SYS_recv: ::c_long = 336;
++pub const SYS_recvfrom: ::c_long = 337;
++pub const SYS_shutdown: ::c_long = 338;
++pub const SYS_setsockopt: ::c_long = 339;
++pub const SYS_getsockopt: ::c_long = 340;
++pub const SYS_sendmsg: ::c_long = 341;
++pub const SYS_recvmsg: ::c_long = 342;
++pub const SYS_recvmmsg: ::c_long = 343;
++pub const SYS_accept4: ::c_long = 344;
++pub const SYS_name_to_handle_at: ::c_long = 345;
++pub const SYS_open_by_handle_at: ::c_long = 346;
++pub const SYS_clock_adjtime: ::c_long = 347;
++pub const SYS_syncfs: ::c_long = 348;
++pub const SYS_sendmmsg: ::c_long = 349;
++pub const SYS_setns: ::c_long = 350;
++pub const SYS_process_vm_readv: ::c_long = 351;
++pub const SYS_process_vm_writev: ::c_long = 352;
++pub const SYS_finit_module: ::c_long = 353;
++pub const SYS_kcmp: ::c_long = 354;
++pub const SYS_sched_setattr: ::c_long = 355;
++pub const SYS_sched_getattr: ::c_long = 356;
++pub const SYS_renameat2: ::c_long = 357;
++pub const SYS_seccomp: ::c_long = 358;
++pub const SYS_getrandom: ::c_long = 359;
++pub const SYS_memfd_create: ::c_long = 360;
++pub const SYS_bpf: ::c_long = 361;
++pub const SYS_execveat: ::c_long = 362;
++pub const SYS_switch_endian: ::c_long = 363;
++pub const SYS_userfaultfd: ::c_long = 364;
++pub const SYS_membarrier: ::c_long = 365;
++pub const SYS_mlock2: ::c_long = 378;
++pub const SYS_copy_file_range: ::c_long = 379;
++pub const SYS_preadv2: ::c_long = 380;
++pub const SYS_pwritev2: ::c_long = 381;
++pub const SYS_kexec_file_load: ::c_long = 382;
++pub const SYS_statx: ::c_long = 383;
++pub const SYS_pkey_alloc: ::c_long = 384;
++pub const SYS_pkey_free: ::c_long = 385;
++pub const SYS_pkey_mprotect: ::c_long = 386;
++
++#[doc(hidden)]
++pub const AF_MAX: ::c_int = 43;
++#[doc(hidden)]
++pub const PF_MAX: ::c_int = AF_MAX;
+diff --git a/src/liblibc/src/unix/notbsd/linux/musl/b32/x86.rs b/src/liblibc/src/unix/notbsd/linux/musl/b32/x86.rs
+index fa570248c72..9f704c7fac9 100644
+--- a/src/liblibc/src/unix/notbsd/linux/musl/b32/x86.rs
++++ b/src/liblibc/src/unix/notbsd/linux/musl/b32/x86.rs
+@@ -52,6 +52,18 @@ s! {
+ pub ss_size: ::size_t
+ }
+
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __unused1: ::c_long,
++ __unused2: ::c_long
++ }
++
+ pub struct shmid_ds {
+ pub shm_perm: ::ipc_perm,
+ pub shm_segsz: ::size_t,
+@@ -164,6 +176,9 @@ s! {
+ }
+ }
+
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++
+ pub const O_DIRECT: ::c_int = 0x4000;
+ pub const O_DIRECTORY: ::c_int = 0x10000;
+ pub const O_NOFOLLOW: ::c_int = 0x20000;
+@@ -178,6 +193,76 @@ pub const RLIMIT_NOFILE: ::c_int = 7;
+ pub const RLIMIT_AS: ::c_int = 9;
+ pub const RLIMIT_NPROC: ::c_int = 6;
+ pub const RLIMIT_MEMLOCK: ::c_int = 8;
++pub const RLIMIT_NLIMITS: ::c_int = 16;
++
++pub const MCL_CURRENT: ::c_int = 0x0001;
++pub const MCL_FUTURE: ::c_int = 0x0002;
++pub const CBAUD: ::tcflag_t = 0o0010017;
++pub const TAB1: ::c_int = 0x00000800;
++pub const TAB2: ::c_int = 0x00001000;
++pub const TAB3: ::c_int = 0x00001800;
++pub const CR1: ::c_int = 0x00000200;
++pub const CR2: ::c_int = 0x00000400;
++pub const CR3: ::c_int = 0x00000600;
++pub const FF1: ::c_int = 0x00008000;
++pub const BS1: ::c_int = 0x00002000;
++pub const VT1: ::c_int = 0x00004000;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 0x00000400;
++pub const IXOFF: ::tcflag_t = 0x00001000;
++pub const ONLCR: ::tcflag_t = 0x4;
++pub const CSIZE: ::tcflag_t = 0x00000030;
++pub const CS6: ::tcflag_t = 0x00000010;
++pub const CS7: ::tcflag_t = 0x00000020;
++pub const CS8: ::tcflag_t = 0x00000030;
++pub const CSTOPB: ::tcflag_t = 0x00000040;
++pub const CREAD: ::tcflag_t = 0x00000080;
++pub const PARENB: ::tcflag_t = 0x00000100;
++pub const PARODD: ::tcflag_t = 0x00000200;
++pub const HUPCL: ::tcflag_t = 0x00000400;
++pub const CLOCAL: ::tcflag_t = 0x00000800;
++pub const ECHOKE: ::tcflag_t = 0x00000800;
++pub const ECHOE: ::tcflag_t = 0x00000010;
++pub const ECHOK: ::tcflag_t = 0x00000020;
++pub const ECHONL: ::tcflag_t = 0x00000040;
++pub const ECHOPRT: ::tcflag_t = 0x00000400;
++pub const ECHOCTL: ::tcflag_t = 0x00000200;
++pub const ISIG: ::tcflag_t = 0x00000001;
++pub const ICANON: ::tcflag_t = 0x00000002;
++pub const PENDIN: ::tcflag_t = 0x00004000;
++pub const NOFLSH: ::tcflag_t = 0x00000080;
++pub const CIBAUD: ::tcflag_t = 0o02003600000;
++pub const CBAUDEX: ::tcflag_t = 0o010000;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 0o000002;
++pub const NLDLY: ::tcflag_t = 0o000400;
++pub const CRDLY: ::tcflag_t = 0o003000;
++pub const TABDLY: ::tcflag_t = 0o014000;
++pub const BSDLY: ::tcflag_t = 0o020000;
++pub const FFDLY: ::tcflag_t = 0o100000;
++pub const VTDLY: ::tcflag_t = 0o040000;
++pub const XTABS: ::tcflag_t = 0o014000;
++pub const B57600: ::speed_t = 0o010001;
++pub const B115200: ::speed_t = 0o010002;
++pub const B230400: ::speed_t = 0o010003;
++pub const B460800: ::speed_t = 0o010004;
++pub const B500000: ::speed_t = 0o010005;
++pub const B576000: ::speed_t = 0o010006;
++pub const B921600: ::speed_t = 0o010007;
++pub const B1000000: ::speed_t = 0o010010;
++pub const B1152000: ::speed_t = 0o010011;
++pub const B1500000: ::speed_t = 0o010012;
++pub const B2000000: ::speed_t = 0o010013;
++pub const B2500000: ::speed_t = 0o010014;
++pub const B3000000: ::speed_t = 0o010015;
++pub const B3500000: ::speed_t = 0o010016;
++pub const B4000000: ::speed_t = 0o010017;
+
+ pub const O_APPEND: ::c_int = 1024;
+ pub const O_CREAT: ::c_int = 64;
+diff --git a/src/liblibc/src/unix/notbsd/linux/musl/mod.rs b/src/liblibc/src/unix/notbsd/linux/musl/mod.rs
+index 0d92a4b9d14..10d61ebebef 100644
+--- a/src/liblibc/src/unix/notbsd/linux/musl/mod.rs
++++ b/src/liblibc/src/unix/notbsd/linux/musl/mod.rs
+@@ -260,7 +260,8 @@ cfg_if! {
+ pub use self::b64::*;
+ } else if #[cfg(any(target_arch = "x86",
+ target_arch = "mips",
+- target_arch = "arm"))] {
++ target_arch = "arm",
++ target_arch = "powerpc"))] {
+ mod b32;
+ pub use self::b32::*;
+ } else { }
diff --git a/user/rust/0031-liblibc-dcff154781e4.patch b/user/rust/0032-libc-dcff154781e4.patch
index 6840e203f..6840e203f 100644
--- a/user/rust/0031-liblibc-dcff154781e4.patch
+++ b/user/rust/0032-libc-dcff154781e4.patch
diff --git a/user/rust/0032-liblibc-90c01fa6b0f4.patch b/user/rust/0033-libc-90c01fa6b0f4.patch
index 5e73c780e..5e73c780e 100644
--- a/user/rust/0032-liblibc-90c01fa6b0f4.patch
+++ b/user/rust/0033-libc-90c01fa6b0f4.patch
diff --git a/user/rust/0034-libc-0163a7ce20b5.patch b/user/rust/0034-libc-0163a7ce20b5.patch
new file mode 100644
index 000000000..3a6e6da3b
--- /dev/null
+++ b/user/rust/0034-libc-0163a7ce20b5.patch
@@ -0,0 +1,1343 @@
+From 0163a7ce20b5f4c8d8f725811e48e1f268b0253e Mon Sep 17 00:00:00 2001
+From: Marek Benc <dusxmt@gmx.com>
+Date: Thu, 5 Jul 2018 15:51:38 +0200
+Subject: [PATCH] Add linux musl powerpc (32-bit) support
+
+---
+ src/unix/notbsd/linux/musl/b32/arm.rs | 85 +++
+ src/unix/notbsd/linux/musl/b32/mips.rs | 85 +++
+ src/unix/notbsd/linux/musl/b32/mod.rs | 88 +--
+ src/unix/notbsd/linux/musl/b32/powerpc.rs | 866 ++++++++++++++++++++++
+ src/unix/notbsd/linux/musl/b32/x86.rs | 85 +++
+ src/unix/notbsd/linux/musl/mod.rs | 3 +-
+ 6 files changed, 1127 insertions(+), 85 deletions(-)
+ create mode 100644 src/unix/notbsd/linux/musl/b32/powerpc.rs
+
+diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/arm.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/arm.rs
+index 22bf16c1fda..20fa33a3f77 100644
+--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/arm.rs
++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/arm.rs
+@@ -52,6 +52,18 @@ s! {
+ pub ss_size: ::size_t
+ }
+
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __unused1: ::c_long,
++ __unused2: ::c_long
++ }
++
+ pub struct shmid_ds {
+ pub shm_perm: ::ipc_perm,
+ pub shm_segsz: ::size_t,
+@@ -151,6 +163,9 @@ s! {
+ }
+ }
+
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++
+ pub const O_DIRECT: ::c_int = 0x10000;
+ pub const O_DIRECTORY: ::c_int = 0x4000;
+ pub const O_NOFOLLOW: ::c_int = 0x8000;
+@@ -165,6 +180,76 @@ pub const RLIMIT_NOFILE: ::c_int = 7;
+ pub const RLIMIT_AS: ::c_int = 9;
+ pub const RLIMIT_NPROC: ::c_int = 6;
+ pub const RLIMIT_MEMLOCK: ::c_int = 8;
++pub const RLIMIT_NLIMITS: ::c_int = 16;
++
++pub const MCL_CURRENT: ::c_int = 0x0001;
++pub const MCL_FUTURE: ::c_int = 0x0002;
++pub const CBAUD: ::tcflag_t = 0o0010017;
++pub const TAB1: ::c_int = 0x00000800;
++pub const TAB2: ::c_int = 0x00001000;
++pub const TAB3: ::c_int = 0x00001800;
++pub const CR1: ::c_int = 0x00000200;
++pub const CR2: ::c_int = 0x00000400;
++pub const CR3: ::c_int = 0x00000600;
++pub const FF1: ::c_int = 0x00008000;
++pub const BS1: ::c_int = 0x00002000;
++pub const VT1: ::c_int = 0x00004000;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 0x00000400;
++pub const IXOFF: ::tcflag_t = 0x00001000;
++pub const ONLCR: ::tcflag_t = 0x4;
++pub const CSIZE: ::tcflag_t = 0x00000030;
++pub const CS6: ::tcflag_t = 0x00000010;
++pub const CS7: ::tcflag_t = 0x00000020;
++pub const CS8: ::tcflag_t = 0x00000030;
++pub const CSTOPB: ::tcflag_t = 0x00000040;
++pub const CREAD: ::tcflag_t = 0x00000080;
++pub const PARENB: ::tcflag_t = 0x00000100;
++pub const PARODD: ::tcflag_t = 0x00000200;
++pub const HUPCL: ::tcflag_t = 0x00000400;
++pub const CLOCAL: ::tcflag_t = 0x00000800;
++pub const ECHOKE: ::tcflag_t = 0x00000800;
++pub const ECHOE: ::tcflag_t = 0x00000010;
++pub const ECHOK: ::tcflag_t = 0x00000020;
++pub const ECHONL: ::tcflag_t = 0x00000040;
++pub const ECHOPRT: ::tcflag_t = 0x00000400;
++pub const ECHOCTL: ::tcflag_t = 0x00000200;
++pub const ISIG: ::tcflag_t = 0x00000001;
++pub const ICANON: ::tcflag_t = 0x00000002;
++pub const PENDIN: ::tcflag_t = 0x00004000;
++pub const NOFLSH: ::tcflag_t = 0x00000080;
++pub const CIBAUD: ::tcflag_t = 0o02003600000;
++pub const CBAUDEX: ::tcflag_t = 0o010000;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 0o000002;
++pub const NLDLY: ::tcflag_t = 0o000400;
++pub const CRDLY: ::tcflag_t = 0o003000;
++pub const TABDLY: ::tcflag_t = 0o014000;
++pub const BSDLY: ::tcflag_t = 0o020000;
++pub const FFDLY: ::tcflag_t = 0o100000;
++pub const VTDLY: ::tcflag_t = 0o040000;
++pub const XTABS: ::tcflag_t = 0o014000;
++pub const B57600: ::speed_t = 0o010001;
++pub const B115200: ::speed_t = 0o010002;
++pub const B230400: ::speed_t = 0o010003;
++pub const B460800: ::speed_t = 0o010004;
++pub const B500000: ::speed_t = 0o010005;
++pub const B576000: ::speed_t = 0o010006;
++pub const B921600: ::speed_t = 0o010007;
++pub const B1000000: ::speed_t = 0o010010;
++pub const B1152000: ::speed_t = 0o010011;
++pub const B1500000: ::speed_t = 0o010012;
++pub const B2000000: ::speed_t = 0o010013;
++pub const B2500000: ::speed_t = 0o010014;
++pub const B3000000: ::speed_t = 0o010015;
++pub const B3500000: ::speed_t = 0o010016;
++pub const B4000000: ::speed_t = 0o010017;
+
+ pub const O_APPEND: ::c_int = 1024;
+ pub const O_CREAT: ::c_int = 64;
+diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mips.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mips.rs
+index 89231a0c751..bfde73c563d 100644
+--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mips.rs
++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mips.rs
+@@ -54,6 +54,18 @@ s! {
+ pub ss_flags: ::c_int,
+ }
+
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __unused1: ::c_long,
++ __unused2: ::c_long
++ }
++
+ pub struct shmid_ds {
+ pub shm_perm: ::ipc_perm,
+ pub shm_segsz: ::size_t,
+@@ -162,6 +174,9 @@ s! {
+ }
+ }
+
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++
+ pub const O_DIRECT: ::c_int = 0o100000;
+ pub const O_DIRECTORY: ::c_int = 0o200000;
+ pub const O_NOFOLLOW: ::c_int = 0o400000;
+@@ -176,6 +191,76 @@ pub const RLIMIT_NOFILE: ::c_int = 5;
+ pub const RLIMIT_AS: ::c_int = 6;
+ pub const RLIMIT_NPROC: ::c_int = 8;
+ pub const RLIMIT_MEMLOCK: ::c_int = 9;
++pub const RLIMIT_NLIMITS: ::c_int = 16;
++
++pub const MCL_CURRENT: ::c_int = 0x0001;
++pub const MCL_FUTURE: ::c_int = 0x0002;
++pub const CBAUD: ::tcflag_t = 0o0010017;
++pub const TAB1: ::c_int = 0x00000800;
++pub const TAB2: ::c_int = 0x00001000;
++pub const TAB3: ::c_int = 0x00001800;
++pub const CR1: ::c_int = 0x00000200;
++pub const CR2: ::c_int = 0x00000400;
++pub const CR3: ::c_int = 0x00000600;
++pub const FF1: ::c_int = 0x00008000;
++pub const BS1: ::c_int = 0x00002000;
++pub const VT1: ::c_int = 0x00004000;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 0x00000400;
++pub const IXOFF: ::tcflag_t = 0x00001000;
++pub const ONLCR: ::tcflag_t = 0x4;
++pub const CSIZE: ::tcflag_t = 0x00000030;
++pub const CS6: ::tcflag_t = 0x00000010;
++pub const CS7: ::tcflag_t = 0x00000020;
++pub const CS8: ::tcflag_t = 0x00000030;
++pub const CSTOPB: ::tcflag_t = 0x00000040;
++pub const CREAD: ::tcflag_t = 0x00000080;
++pub const PARENB: ::tcflag_t = 0x00000100;
++pub const PARODD: ::tcflag_t = 0x00000200;
++pub const HUPCL: ::tcflag_t = 0x00000400;
++pub const CLOCAL: ::tcflag_t = 0x00000800;
++pub const ECHOKE: ::tcflag_t = 0x00000800;
++pub const ECHOE: ::tcflag_t = 0x00000010;
++pub const ECHOK: ::tcflag_t = 0x00000020;
++pub const ECHONL: ::tcflag_t = 0x00000040;
++pub const ECHOPRT: ::tcflag_t = 0x00000400;
++pub const ECHOCTL: ::tcflag_t = 0x00000200;
++pub const ISIG: ::tcflag_t = 0x00000001;
++pub const ICANON: ::tcflag_t = 0x00000002;
++pub const PENDIN: ::tcflag_t = 0x00004000;
++pub const NOFLSH: ::tcflag_t = 0x00000080;
++pub const CIBAUD: ::tcflag_t = 0o02003600000;
++pub const CBAUDEX: ::tcflag_t = 0o010000;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 0o000002;
++pub const NLDLY: ::tcflag_t = 0o000400;
++pub const CRDLY: ::tcflag_t = 0o003000;
++pub const TABDLY: ::tcflag_t = 0o014000;
++pub const BSDLY: ::tcflag_t = 0o020000;
++pub const FFDLY: ::tcflag_t = 0o100000;
++pub const VTDLY: ::tcflag_t = 0o040000;
++pub const XTABS: ::tcflag_t = 0o014000;
++pub const B57600: ::speed_t = 0o010001;
++pub const B115200: ::speed_t = 0o010002;
++pub const B230400: ::speed_t = 0o010003;
++pub const B460800: ::speed_t = 0o010004;
++pub const B500000: ::speed_t = 0o010005;
++pub const B576000: ::speed_t = 0o010006;
++pub const B921600: ::speed_t = 0o010007;
++pub const B1000000: ::speed_t = 0o010010;
++pub const B1152000: ::speed_t = 0o010011;
++pub const B1500000: ::speed_t = 0o010012;
++pub const B2000000: ::speed_t = 0o010013;
++pub const B2500000: ::speed_t = 0o010014;
++pub const B3000000: ::speed_t = 0o010015;
++pub const B3500000: ::speed_t = 0o010016;
++pub const B4000000: ::speed_t = 0o010017;
+
+ pub const O_APPEND: ::c_int = 0o010;
+ pub const O_CREAT: ::c_int = 0o400;
+diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs
+index b4a0f761636..4128a8e4da6 100644
+--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs
++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs
+@@ -32,96 +32,13 @@ s! {
+ pub struct sem_t {
+ __val: [::c_int; 4],
+ }
+-
+- pub struct ipc_perm {
+- pub __ipc_perm_key: ::key_t,
+- pub uid: ::uid_t,
+- pub gid: ::gid_t,
+- pub cuid: ::uid_t,
+- pub cgid: ::gid_t,
+- pub mode: ::mode_t,
+- pub __seq: ::c_int,
+- __unused1: ::c_long,
+- __unused2: ::c_long
+- }
+ }
+
+-pub const SIGSTKSZ: ::size_t = 8192;
+-pub const MINSIGSTKSZ: ::size_t = 2048;
+-
+ pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32;
+ pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24;
+
+-pub const RLIMIT_NLIMITS: ::c_int = 16;
+ pub const TIOCINQ: ::c_int = ::FIONREAD;
+-pub const MCL_CURRENT: ::c_int = 0x0001;
+-pub const MCL_FUTURE: ::c_int = 0x0002;
+-pub const CBAUD: ::tcflag_t = 0o0010017;
+-pub const TAB1: ::c_int = 0x00000800;
+-pub const TAB2: ::c_int = 0x00001000;
+-pub const TAB3: ::c_int = 0x00001800;
+-pub const CR1: ::c_int = 0x00000200;
+-pub const CR2: ::c_int = 0x00000400;
+-pub const CR3: ::c_int = 0x00000600;
+-pub const FF1: ::c_int = 0x00008000;
+-pub const BS1: ::c_int = 0x00002000;
+-pub const VT1: ::c_int = 0x00004000;
+-pub const VWERASE: usize = 14;
+-pub const VREPRINT: usize = 12;
+-pub const VSUSP: usize = 10;
+-pub const VSTART: usize = 8;
+-pub const VSTOP: usize = 9;
+-pub const VDISCARD: usize = 13;
+-pub const VTIME: usize = 5;
+-pub const IXON: ::tcflag_t = 0x00000400;
+-pub const IXOFF: ::tcflag_t = 0x00001000;
+-pub const ONLCR: ::tcflag_t = 0x4;
+-pub const CSIZE: ::tcflag_t = 0x00000030;
+-pub const CS6: ::tcflag_t = 0x00000010;
+-pub const CS7: ::tcflag_t = 0x00000020;
+-pub const CS8: ::tcflag_t = 0x00000030;
+-pub const CSTOPB: ::tcflag_t = 0x00000040;
+-pub const CREAD: ::tcflag_t = 0x00000080;
+-pub const PARENB: ::tcflag_t = 0x00000100;
+-pub const PARODD: ::tcflag_t = 0x00000200;
+-pub const HUPCL: ::tcflag_t = 0x00000400;
+-pub const CLOCAL: ::tcflag_t = 0x00000800;
+-pub const ECHOKE: ::tcflag_t = 0x00000800;
+-pub const ECHOE: ::tcflag_t = 0x00000010;
+-pub const ECHOK: ::tcflag_t = 0x00000020;
+-pub const ECHONL: ::tcflag_t = 0x00000040;
+-pub const ECHOPRT: ::tcflag_t = 0x00000400;
+-pub const ECHOCTL: ::tcflag_t = 0x00000200;
+-pub const ISIG: ::tcflag_t = 0x00000001;
+-pub const ICANON: ::tcflag_t = 0x00000002;
+-pub const PENDIN: ::tcflag_t = 0x00004000;
+-pub const NOFLSH: ::tcflag_t = 0x00000080;
+-pub const CIBAUD: ::tcflag_t = 0o02003600000;
+-pub const CBAUDEX: ::tcflag_t = 0o010000;
+-pub const VSWTC: usize = 7;
+-pub const OLCUC: ::tcflag_t = 0o000002;
+-pub const NLDLY: ::tcflag_t = 0o000400;
+-pub const CRDLY: ::tcflag_t = 0o003000;
+-pub const TABDLY: ::tcflag_t = 0o014000;
+-pub const BSDLY: ::tcflag_t = 0o020000;
+-pub const FFDLY: ::tcflag_t = 0o100000;
+-pub const VTDLY: ::tcflag_t = 0o040000;
+-pub const XTABS: ::tcflag_t = 0o014000;
+-pub const B57600: ::speed_t = 0o010001;
+-pub const B115200: ::speed_t = 0o010002;
+-pub const B230400: ::speed_t = 0o010003;
+-pub const B460800: ::speed_t = 0o010004;
+-pub const B500000: ::speed_t = 0o010005;
+-pub const B576000: ::speed_t = 0o010006;
+-pub const B921600: ::speed_t = 0o010007;
+-pub const B1000000: ::speed_t = 0o010010;
+-pub const B1152000: ::speed_t = 0o010011;
+-pub const B1500000: ::speed_t = 0o010012;
+-pub const B2000000: ::speed_t = 0o010013;
+-pub const B2500000: ::speed_t = 0o010014;
+-pub const B3000000: ::speed_t = 0o010015;
+-pub const B3500000: ::speed_t = 0o010016;
+-pub const B4000000: ::speed_t = 0o010017;
++
+ extern {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+ }
+@@ -136,6 +53,9 @@ cfg_if! {
+ } else if #[cfg(any(target_arch = "arm"))] {
+ mod arm;
+ pub use self::arm::*;
++ } else if #[cfg(any(target_arch = "powerpc"))] {
++ mod powerpc;
++ pub use self::powerpc::*;
+ } else {
+ // Unknown target_arch
+ }
+diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/powerpc.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/powerpc.rs
+new file mode 100644
+index 00000000000..50b6b57ef11
+--- /dev/null
++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/powerpc.rs
+@@ -0,0 +1,866 @@
++pub type c_char = u8;
++pub type wchar_t = i32;
++
++s! {
++ pub struct stat {
++ pub st_dev: ::dev_t,
++ pub st_ino: ::ino_t,
++ pub st_mode: ::mode_t,
++ pub st_nlink: ::nlink_t,
++ pub st_uid: ::uid_t,
++ pub st_gid: ::gid_t,
++ pub st_rdev: ::dev_t,
++ __st_rdev_padding: ::c_short,
++ pub st_size: ::off_t,
++ pub st_blksize: ::blksize_t,
++ pub st_blocks: ::blkcnt_t,
++ pub st_atime: ::time_t,
++ pub st_atime_nsec: ::c_long,
++ pub st_mtime: ::time_t,
++ pub st_mtime_nsec: ::c_long,
++ pub st_ctime: ::time_t,
++ pub st_ctime_nsec: ::c_long,
++ __unused: [::c_long; 2],
++ }
++
++ pub struct stat64 {
++ pub st_dev: ::dev_t,
++ pub st_ino: ::ino_t,
++ pub st_mode: ::mode_t,
++ pub st_nlink: ::nlink_t,
++ pub st_uid: ::uid_t,
++ pub st_gid: ::gid_t,
++ pub st_rdev: ::dev_t,
++ __st_rdev_padding: ::c_short,
++ pub st_size: ::off_t,
++ pub st_blksize: ::blksize_t,
++ pub st_blocks: ::blkcnt_t,
++ pub st_atime: ::time_t,
++ pub st_atime_nsec: ::c_long,
++ pub st_mtime: ::time_t,
++ pub st_mtime_nsec: ::c_long,
++ pub st_ctime: ::time_t,
++ pub st_ctime_nsec: ::c_long,
++ __unused: [::c_long; 2],
++ }
++
++ pub struct stack_t {
++ pub ss_sp: *mut ::c_void,
++ pub ss_flags: ::c_int,
++ pub ss_size: ::size_t
++ }
++
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __pad1: ::c_int,
++ __pad2: ::c_longlong,
++ __pad3: ::c_longlong
++ }
++
++ pub struct shmid_ds {
++ pub shm_perm: ::ipc_perm,
++ __unused1: ::c_int,
++ pub shm_atime: ::time_t,
++ __unused2: ::c_int,
++ pub shm_dtime: ::time_t,
++ __unused3: ::c_int,
++ pub shm_ctime: ::time_t,
++ __unused4: ::c_int,
++ pub shm_segsz: ::size_t,
++ pub shm_cpid: ::pid_t,
++ pub shm_lpid: ::pid_t,
++ pub shm_nattch: ::c_ulong,
++ __pad1: ::c_ulong,
++ __pad2: ::c_ulong,
++ }
++
++ pub struct msqid_ds {
++ pub msg_perm: ::ipc_perm,
++ __unused1: ::c_int,
++ pub msg_stime: ::time_t,
++ __unused2: ::c_int,
++ pub msg_rtime: ::time_t,
++ __unused3: ::c_int,
++ pub msg_ctime: ::time_t,
++ __msg_cbytes: ::c_ulong,
++ pub msg_qnum: ::msgqnum_t,
++ pub msg_qbytes: ::msglen_t,
++ pub msg_lspid: ::pid_t,
++ pub msg_lrpid: ::pid_t,
++ __pad1: ::c_ulong,
++ __pad2: ::c_ulong,
++ }
++
++ pub struct statfs {
++ pub f_type: ::c_ulong,
++ pub f_bsize: ::c_ulong,
++ pub f_blocks: ::fsblkcnt_t,
++ pub f_bfree: ::fsblkcnt_t,
++ pub f_bavail: ::fsblkcnt_t,
++ pub f_files: ::fsfilcnt_t,
++ pub f_ffree: ::fsfilcnt_t,
++ pub f_fsid: ::fsid_t,
++ pub f_namelen: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_flags: ::c_ulong,
++ pub f_spare: [::c_ulong; 4],
++ }
++
++ pub struct siginfo_t {
++ pub si_signo: ::c_int,
++ pub si_errno: ::c_int,
++ pub si_code: ::c_int,
++ pub _pad: [::c_int; 29],
++ _align: [usize; 0],
++ }
++
++ pub struct statfs64 {
++ pub f_type: ::c_ulong,
++ pub f_bsize: ::c_ulong,
++ pub f_blocks: ::fsblkcnt_t,
++ pub f_bfree: ::fsblkcnt_t,
++ pub f_bavail: ::fsblkcnt_t,
++ pub f_files: ::fsfilcnt_t,
++ pub f_ffree: ::fsfilcnt_t,
++ pub f_fsid: ::fsid_t,
++ pub f_namelen: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_flags: ::c_ulong,
++ pub f_spare: [::c_ulong; 4],
++ }
++
++ pub struct statvfs64 {
++ pub f_bsize: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_blocks: u64,
++ pub f_bfree: u64,
++ pub f_bavail: u64,
++ pub f_files: u64,
++ pub f_ffree: u64,
++ pub f_favail: u64,
++ #[cfg(target_endian = "little")]
++ pub f_fsid: ::c_ulong,
++ __f_unused: ::c_int,
++ #[cfg(target_endian = "big")]
++ pub f_fsid: ::c_ulong,
++ pub f_flag: ::c_ulong,
++ pub f_namemax: ::c_ulong,
++ __f_spare: [::c_int; 6],
++ }
++
++ pub struct termios2 {
++ pub c_iflag: ::tcflag_t,
++ pub c_oflag: ::tcflag_t,
++ pub c_cflag: ::tcflag_t,
++ pub c_lflag: ::tcflag_t,
++ pub c_cc: [::cc_t; 19],
++ pub c_line: ::cc_t,
++ pub c_ispeed: ::speed_t,
++ pub c_ospeed: ::speed_t,
++ }
++}
++
++pub const SIGSTKSZ: ::size_t = 10240;
++pub const MINSIGSTKSZ: ::size_t = 4096;
++
++pub const O_DIRECT: ::c_int = 0x20000;
++pub const O_DIRECTORY: ::c_int = 0x4000;
++pub const O_NOFOLLOW: ::c_int = 0x8000;
++pub const O_ASYNC: ::c_int = 0x2000;
++pub const O_LARGEFILE: ::c_int = 0x10000;
++
++pub const FIOCLEX: ::c_int = 0x20006601;
++pub const FIONBIO: ::c_int = 0x8004667E;
++
++pub const RLIMIT_RSS: ::c_int = 5;
++pub const RLIMIT_NOFILE: ::c_int = 7;
++pub const RLIMIT_AS: ::c_int = 9;
++pub const RLIMIT_NPROC: ::c_int = 6;
++pub const RLIMIT_MEMLOCK: ::c_int = 8;
++pub const RLIMIT_NLIMITS: ::c_int = 15;
++
++pub const MCL_CURRENT: ::c_int = 0x2000;
++pub const MCL_FUTURE: ::c_int = 0x4000;
++pub const CBAUD: ::tcflag_t = 0o0000377;
++pub const TAB1: ::c_int = 0x00000400;
++pub const TAB2: ::c_int = 0x00000800;
++pub const TAB3: ::c_int = 0x00000C00;
++pub const CR1: ::c_int = 0x00001000;
++pub const CR2: ::c_int = 0x00002000;
++pub const CR3: ::c_int = 0x00003000;
++pub const FF1: ::c_int = 0x00004000;
++pub const BS1: ::c_int = 0x00008000;
++pub const VT1: ::c_int = 0x00010000;
++pub const VWERASE: usize = 10;
++pub const VREPRINT: usize = 11;
++pub const VSUSP: usize = 12;
++pub const VSTART: usize = 13;
++pub const VSTOP: usize = 14;
++pub const VDISCARD: usize = 16;
++pub const VTIME: usize = 7;
++pub const IXON: ::tcflag_t = 0x00000200;
++pub const IXOFF: ::tcflag_t = 0x00000400;
++pub const ONLCR: ::tcflag_t = 0x00000002;
++pub const CSIZE: ::tcflag_t = 0x00000300;
++pub const CS6: ::tcflag_t = 0x00000100;
++pub const CS7: ::tcflag_t = 0x00000200;
++pub const CS8: ::tcflag_t = 0x00000300;
++pub const CSTOPB: ::tcflag_t = 0x00000400;
++pub const CREAD: ::tcflag_t = 0x00000800;
++pub const PARENB: ::tcflag_t = 0x00001000;
++pub const PARODD: ::tcflag_t = 0x00002000;
++pub const HUPCL: ::tcflag_t = 0x00004000;
++pub const CLOCAL: ::tcflag_t = 0x00008000;
++pub const ECHOKE: ::tcflag_t = 0x00000001;
++pub const ECHOE: ::tcflag_t = 0x00000002;
++pub const ECHOK: ::tcflag_t = 0x00000004;
++pub const ECHONL: ::tcflag_t = 0x00000010;
++pub const ECHOPRT: ::tcflag_t = 0x00000020;
++pub const ECHOCTL: ::tcflag_t = 0x00000040;
++pub const ISIG: ::tcflag_t = 0x00000080;
++pub const ICANON: ::tcflag_t = 0x00000100;
++pub const PENDIN: ::tcflag_t = 0x20000000;
++pub const NOFLSH: ::tcflag_t = 0x80000000;
++pub const CIBAUD: ::tcflag_t = 0o00077600000;
++pub const CBAUDEX: ::tcflag_t = 0o000020;
++pub const VSWTC: usize = 9;
++pub const OLCUC: ::tcflag_t = 0o000004;
++pub const NLDLY: ::tcflag_t = 0o001400;
++pub const CRDLY: ::tcflag_t = 0o030000;
++pub const TABDLY: ::tcflag_t = 0o006000;
++pub const BSDLY: ::tcflag_t = 0o100000;
++pub const FFDLY: ::tcflag_t = 0o040000;
++pub const VTDLY: ::tcflag_t = 0o200000;
++pub const XTABS: ::tcflag_t = 0o006000;
++pub const B57600: ::speed_t = 0o000020;
++pub const B115200: ::speed_t = 0o000021;
++pub const B230400: ::speed_t = 0o000022;
++pub const B460800: ::speed_t = 0o000023;
++pub const B500000: ::speed_t = 0o000024;
++pub const B576000: ::speed_t = 0o000025;
++pub const B921600: ::speed_t = 0o000026;
++pub const B1000000: ::speed_t = 0o000027;
++pub const B1152000: ::speed_t = 0o000030;
++pub const B1500000: ::speed_t = 0o000031;
++pub const B2000000: ::speed_t = 0o000032;
++pub const B2500000: ::speed_t = 0o000033;
++pub const B3000000: ::speed_t = 0o000034;
++pub const B3500000: ::speed_t = 0o000035;
++pub const B4000000: ::speed_t = 0o000036;
++
++pub const O_APPEND: ::c_int = 1024;
++pub const O_CREAT: ::c_int = 64;
++pub const O_EXCL: ::c_int = 128;
++pub const O_NOCTTY: ::c_int = 256;
++pub const O_NONBLOCK: ::c_int = 2048;
++pub const O_SYNC: ::c_int = 1052672;
++pub const O_RSYNC: ::c_int = 1052672;
++pub const O_DSYNC: ::c_int = 4096;
++
++pub const SOCK_NONBLOCK: ::c_int = 2048;
++
++pub const MAP_ANON: ::c_int = 0x0020;
++pub const MAP_GROWSDOWN: ::c_int = 0x0100;
++pub const MAP_DENYWRITE: ::c_int = 0x0800;
++pub const MAP_EXECUTABLE: ::c_int = 0x01000;
++pub const MAP_LOCKED: ::c_int = 0x00080;
++pub const MAP_NORESERVE: ::c_int = 0x00040;
++pub const MAP_POPULATE: ::c_int = 0x08000;
++pub const MAP_NONBLOCK: ::c_int = 0x010000;
++pub const MAP_STACK: ::c_int = 0x020000;
++
++pub const SOCK_STREAM: ::c_int = 1;
++pub const SOCK_DGRAM: ::c_int = 2;
++pub const SOCK_SEQPACKET: ::c_int = 5;
++
++pub const SOL_SOCKET: ::c_int = 1;
++
++pub const EDEADLK: ::c_int = 35;
++pub const ENAMETOOLONG: ::c_int = 36;
++pub const ENOLCK: ::c_int = 37;
++pub const ENOSYS: ::c_int = 38;
++pub const ENOTEMPTY: ::c_int = 39;
++pub const ELOOP: ::c_int = 40;
++pub const ENOMSG: ::c_int = 42;
++pub const EIDRM: ::c_int = 43;
++pub const ECHRNG: ::c_int = 44;
++pub const EL2NSYNC: ::c_int = 45;
++pub const EL3HLT: ::c_int = 46;
++pub const EL3RST: ::c_int = 47;
++pub const ELNRNG: ::c_int = 48;
++pub const EUNATCH: ::c_int = 49;
++pub const ENOCSI: ::c_int = 50;
++pub const EL2HLT: ::c_int = 51;
++pub const EBADE: ::c_int = 52;
++pub const EBADR: ::c_int = 53;
++pub const EXFULL: ::c_int = 54;
++pub const ENOANO: ::c_int = 55;
++pub const EBADRQC: ::c_int = 56;
++pub const EBADSLT: ::c_int = 57;
++pub const EDEADLOCK: ::c_int = 58;
++pub const EMULTIHOP: ::c_int = 72;
++pub const EBADMSG: ::c_int = 74;
++pub const EOVERFLOW: ::c_int = 75;
++pub const ENOTUNIQ: ::c_int = 76;
++pub const EBADFD: ::c_int = 77;
++pub const EREMCHG: ::c_int = 78;
++pub const ELIBACC: ::c_int = 79;
++pub const ELIBBAD: ::c_int = 80;
++pub const ELIBSCN: ::c_int = 81;
++pub const ELIBMAX: ::c_int = 82;
++pub const ELIBEXEC: ::c_int = 83;
++pub const EILSEQ: ::c_int = 84;
++pub const ERESTART: ::c_int = 85;
++pub const ESTRPIPE: ::c_int = 86;
++pub const EUSERS: ::c_int = 87;
++pub const ENOTSOCK: ::c_int = 88;
++pub const EDESTADDRREQ: ::c_int = 89;
++pub const EMSGSIZE: ::c_int = 90;
++pub const EPROTOTYPE: ::c_int = 91;
++pub const ENOPROTOOPT: ::c_int = 92;
++pub const EPROTONOSUPPORT: ::c_int = 93;
++pub const ESOCKTNOSUPPORT: ::c_int = 94;
++pub const EOPNOTSUPP: ::c_int = 95;
++pub const ENOTSUP: ::c_int = EOPNOTSUPP;
++pub const EPFNOSUPPORT: ::c_int = 96;
++pub const EAFNOSUPPORT: ::c_int = 97;
++pub const EADDRINUSE: ::c_int = 98;
++pub const EADDRNOTAVAIL: ::c_int = 99;
++pub const ENETDOWN: ::c_int = 100;
++pub const ENETUNREACH: ::c_int = 101;
++pub const ENETRESET: ::c_int = 102;
++pub const ECONNABORTED: ::c_int = 103;
++pub const ECONNRESET: ::c_int = 104;
++pub const ENOBUFS: ::c_int = 105;
++pub const EISCONN: ::c_int = 106;
++pub const ENOTCONN: ::c_int = 107;
++pub const ESHUTDOWN: ::c_int = 108;
++pub const ETOOMANYREFS: ::c_int = 109;
++pub const ETIMEDOUT: ::c_int = 110;
++pub const ECONNREFUSED: ::c_int = 111;
++pub const EHOSTDOWN: ::c_int = 112;
++pub const EHOSTUNREACH: ::c_int = 113;
++pub const EALREADY: ::c_int = 114;
++pub const EINPROGRESS: ::c_int = 115;
++pub const ESTALE: ::c_int = 116;
++pub const EUCLEAN: ::c_int = 117;
++pub const ENOTNAM: ::c_int = 118;
++pub const ENAVAIL: ::c_int = 119;
++pub const EISNAM: ::c_int = 120;
++pub const EREMOTEIO: ::c_int = 121;
++pub const EDQUOT: ::c_int = 122;
++pub const ENOMEDIUM: ::c_int = 123;
++pub const EMEDIUMTYPE: ::c_int = 124;
++pub const ECANCELED: ::c_int = 125;
++pub const ENOKEY: ::c_int = 126;
++pub const EKEYEXPIRED: ::c_int = 127;
++pub const EKEYREVOKED: ::c_int = 128;
++pub const EKEYREJECTED: ::c_int = 129;
++pub const EOWNERDEAD: ::c_int = 130;
++pub const ENOTRECOVERABLE: ::c_int = 131;
++pub const ERFKILL: ::c_int = 132;
++pub const EHWPOISON: ::c_int = 133;
++
++pub const SO_REUSEADDR: ::c_int = 2;
++pub const SO_TYPE: ::c_int = 3;
++pub const SO_ERROR: ::c_int = 4;
++pub const SO_DONTROUTE: ::c_int = 5;
++pub const SO_BROADCAST: ::c_int = 6;
++pub const SO_SNDBUF: ::c_int = 7;
++pub const SO_RCVBUF: ::c_int = 8;
++pub const SO_KEEPALIVE: ::c_int = 9;
++pub const SO_OOBINLINE: ::c_int = 10;
++pub const SO_NO_CHECK: ::c_int = 11;
++pub const SO_PRIORITY: ::c_int = 12;
++pub const SO_LINGER: ::c_int = 13;
++pub const SO_BSDCOMPAT: ::c_int = 14;
++pub const SO_REUSEPORT: ::c_int = 15;
++pub const SO_RCVLOWAT: ::c_int = 16;
++pub const SO_SNDLOWAT: ::c_int = 17;
++pub const SO_RCVTIMEO: ::c_int = 18;
++pub const SO_SNDTIMEO: ::c_int = 19;
++pub const SO_PASSCRED: ::c_int = 20;
++pub const SO_PEERCRED: ::c_int = 21;
++pub const SO_ACCEPTCONN: ::c_int = 30;
++pub const SO_SNDBUFFORCE: ::c_int = 32;
++pub const SO_RCVBUFFORCE: ::c_int = 33;
++pub const SO_PROTOCOL: ::c_int = 38;
++pub const SO_DOMAIN: ::c_int = 39;
++
++pub const SA_ONSTACK: ::c_int = 0x08000000;
++pub const SA_SIGINFO: ::c_int = 0x00000004;
++pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
++
++pub const SIGCHLD: ::c_int = 17;
++pub const SIGBUS: ::c_int = 7;
++pub const SIGTTIN: ::c_int = 21;
++pub const SIGTTOU: ::c_int = 22;
++pub const SIGXCPU: ::c_int = 24;
++pub const SIGXFSZ: ::c_int = 25;
++pub const SIGVTALRM: ::c_int = 26;
++pub const SIGPROF: ::c_int = 27;
++pub const SIGWINCH: ::c_int = 28;
++pub const SIGUSR1: ::c_int = 10;
++pub const SIGUSR2: ::c_int = 12;
++pub const SIGCONT: ::c_int = 18;
++pub const SIGSTOP: ::c_int = 19;
++pub const SIGTSTP: ::c_int = 20;
++pub const SIGURG: ::c_int = 23;
++pub const SIGIO: ::c_int = 29;
++pub const SIGSYS: ::c_int = 31;
++pub const SIGSTKFLT: ::c_int = 16;
++pub const SIGPOLL: ::c_int = 29;
++pub const SIGPWR: ::c_int = 30;
++pub const SIG_SETMASK: ::c_int = 2;
++pub const SIG_BLOCK: ::c_int = 0x000000;
++pub const SIG_UNBLOCK: ::c_int = 0x01;
++
++pub const EXTPROC: ::tcflag_t = 0x10000000;
++
++pub const MAP_HUGETLB: ::c_int = 0x040000;
++
++pub const F_GETLK: ::c_int = 12;
++pub const F_GETOWN: ::c_int = 9;
++pub const F_SETLK: ::c_int = 13;
++pub const F_SETLKW: ::c_int = 14;
++pub const F_SETOWN: ::c_int = 8;
++
++pub const VEOF: usize = 4;
++pub const VEOL: usize = 6;
++pub const VEOL2: usize = 8;
++pub const VMIN: usize = 5;
++pub const IEXTEN: ::tcflag_t = 0x00000400;
++pub const TOSTOP: ::tcflag_t = 0x00400000;
++pub const FLUSHO: ::tcflag_t = 0x00800000;
++
++pub const TCGETS: ::c_int = 0x402C7413;
++pub const TCSETS: ::c_int = 0x802C7414;
++pub const TCSETSW: ::c_int = 0x802C7415;
++pub const TCSETSF: ::c_int = 0x802C7416;
++pub const TCGETA: ::c_int = 0x40147417;
++pub const TCSETA: ::c_int = 0x80147418;
++pub const TCSETAW: ::c_int = 0x80147419;
++pub const TCSETAF: ::c_int = 0x8014741C;
++pub const TCSBRK: ::c_int = 0x2000741D;
++pub const TCXONC: ::c_int = 0x2000741E;
++pub const TCFLSH: ::c_int = 0x2000741F;
++pub const TIOCGSOFTCAR: ::c_int = 0x5419;
++pub const TIOCSSOFTCAR: ::c_int = 0x541A;
++pub const TIOCLINUX: ::c_int = 0x541C;
++pub const TIOCGSERIAL: ::c_int = 0x541E;
++pub const TIOCEXCL: ::c_int = 0x540C;
++pub const TIOCNXCL: ::c_int = 0x540D;
++pub const TIOCSCTTY: ::c_int = 0x540E;
++pub const TIOCGPGRP: ::c_int = 0x40047477;
++pub const TIOCSPGRP: ::c_int = 0x80047476;
++pub const TIOCOUTQ: ::c_int = 0x40047473;
++pub const TIOCSTI: ::c_int = 0x5412;
++pub const TIOCGWINSZ: ::c_int = 0x40087468;
++pub const TIOCSWINSZ: ::c_int = 0x80087467;
++pub const TIOCMGET: ::c_int = 0x5415;
++pub const TIOCMBIS: ::c_int = 0x5416;
++pub const TIOCMBIC: ::c_int = 0x5417;
++pub const TIOCMSET: ::c_int = 0x5418;
++pub const FIONREAD: ::c_int = 0x4004667F;
++pub const TIOCCONS: ::c_int = 0x541D;
++
++pub const POLLWRNORM: ::c_short = 0x100;
++pub const POLLWRBAND: ::c_short = 0x200;
++
++pub const TIOCM_LE: ::c_int = 0x001;
++pub const TIOCM_DTR: ::c_int = 0x002;
++pub const TIOCM_RTS: ::c_int = 0x004;
++pub const TIOCM_ST: ::c_int = 0x008;
++pub const TIOCM_SR: ::c_int = 0x010;
++pub const TIOCM_CTS: ::c_int = 0x020;
++pub const TIOCM_CAR: ::c_int = 0x040;
++pub const TIOCM_RNG: ::c_int = 0x080;
++pub const TIOCM_DSR: ::c_int = 0x100;
++pub const TIOCM_CD: ::c_int = TIOCM_CAR;
++pub const TIOCM_RI: ::c_int = TIOCM_RNG;
++
++// Syscall table
++pub const SYS_restart_syscall: ::c_long = 0;
++pub const SYS_exit: ::c_long = 1;
++pub const SYS_fork: ::c_long = 2;
++pub const SYS_read: ::c_long = 3;
++pub const SYS_write: ::c_long = 4;
++pub const SYS_open: ::c_long = 5;
++pub const SYS_close: ::c_long = 6;
++pub const SYS_waitpid: ::c_long = 7;
++pub const SYS_creat: ::c_long = 8;
++pub const SYS_link: ::c_long = 9;
++pub const SYS_unlink: ::c_long = 10;
++pub const SYS_execve: ::c_long = 11;
++pub const SYS_chdir: ::c_long = 12;
++pub const SYS_time: ::c_long = 13;
++pub const SYS_mknod: ::c_long = 14;
++pub const SYS_chmod: ::c_long = 15;
++pub const SYS_lchown: ::c_long = 16;
++pub const SYS_break: ::c_long = 17;
++pub const SYS_oldstat: ::c_long = 18;
++pub const SYS_lseek: ::c_long = 19;
++pub const SYS_getpid: ::c_long = 20;
++pub const SYS_mount: ::c_long = 21;
++pub const SYS_umount: ::c_long = 22;
++pub const SYS_setuid: ::c_long = 23;
++pub const SYS_getuid: ::c_long = 24;
++pub const SYS_stime: ::c_long = 25;
++pub const SYS_ptrace: ::c_long = 26;
++pub const SYS_alarm: ::c_long = 27;
++pub const SYS_oldfstat: ::c_long = 28;
++pub const SYS_pause: ::c_long = 29;
++pub const SYS_utime: ::c_long = 30;
++pub const SYS_stty: ::c_long = 31;
++pub const SYS_gtty: ::c_long = 32;
++pub const SYS_access: ::c_long = 33;
++pub const SYS_nice: ::c_long = 34;
++pub const SYS_ftime: ::c_long = 35;
++pub const SYS_sync: ::c_long = 36;
++pub const SYS_kill: ::c_long = 37;
++pub const SYS_rename: ::c_long = 38;
++pub const SYS_mkdir: ::c_long = 39;
++pub const SYS_rmdir: ::c_long = 40;
++pub const SYS_dup: ::c_long = 41;
++pub const SYS_pipe: ::c_long = 42;
++pub const SYS_times: ::c_long = 43;
++pub const SYS_prof: ::c_long = 44;
++pub const SYS_brk: ::c_long = 45;
++pub const SYS_setgid: ::c_long = 46;
++pub const SYS_getgid: ::c_long = 47;
++pub const SYS_signal: ::c_long = 48;
++pub const SYS_geteuid: ::c_long = 49;
++pub const SYS_getegid: ::c_long = 50;
++pub const SYS_acct: ::c_long = 51;
++pub const SYS_umount2: ::c_long = 52;
++pub const SYS_lock: ::c_long = 53;
++pub const SYS_ioctl: ::c_long = 54;
++pub const SYS_fcntl: ::c_long = 55;
++pub const SYS_mpx: ::c_long = 56;
++pub const SYS_setpgid: ::c_long = 57;
++pub const SYS_ulimit: ::c_long = 58;
++pub const SYS_oldolduname: ::c_long = 59;
++pub const SYS_umask: ::c_long = 60;
++pub const SYS_chroot: ::c_long = 61;
++pub const SYS_ustat: ::c_long = 62;
++pub const SYS_dup2: ::c_long = 63;
++pub const SYS_getppid: ::c_long = 64;
++pub const SYS_getpgrp: ::c_long = 65;
++pub const SYS_setsid: ::c_long = 66;
++pub const SYS_sigaction: ::c_long = 67;
++pub const SYS_sgetmask: ::c_long = 68;
++pub const SYS_ssetmask: ::c_long = 69;
++pub const SYS_setreuid: ::c_long = 70;
++pub const SYS_setregid: ::c_long = 71;
++pub const SYS_sigsuspend: ::c_long = 72;
++pub const SYS_sigpending: ::c_long = 73;
++pub const SYS_sethostname: ::c_long = 74;
++pub const SYS_setrlimit: ::c_long = 75;
++pub const SYS_getrlimit: ::c_long = 76;
++pub const SYS_getrusage: ::c_long = 77;
++pub const SYS_gettimeofday: ::c_long = 78;
++pub const SYS_settimeofday: ::c_long = 79;
++pub const SYS_getgroups: ::c_long = 80;
++pub const SYS_setgroups: ::c_long = 81;
++pub const SYS_select: ::c_long = 82;
++pub const SYS_symlink: ::c_long = 83;
++pub const SYS_oldlstat: ::c_long = 84;
++pub const SYS_readlink: ::c_long = 85;
++pub const SYS_uselib: ::c_long = 86;
++pub const SYS_swapon: ::c_long = 87;
++pub const SYS_reboot: ::c_long = 88;
++pub const SYS_readdir: ::c_long = 89;
++pub const SYS_mmap: ::c_long = 90;
++pub const SYS_munmap: ::c_long = 91;
++pub const SYS_truncate: ::c_long = 92;
++pub const SYS_ftruncate: ::c_long = 93;
++pub const SYS_fchmod: ::c_long = 94;
++pub const SYS_fchown: ::c_long = 95;
++pub const SYS_getpriority: ::c_long = 96;
++pub const SYS_setpriority: ::c_long = 97;
++pub const SYS_profil: ::c_long = 98;
++pub const SYS_statfs: ::c_long = 99;
++pub const SYS_fstatfs: ::c_long = 100;
++pub const SYS_ioperm: ::c_long = 101;
++pub const SYS_socketcall: ::c_long = 102;
++pub const SYS_syslog: ::c_long = 103;
++pub const SYS_setitimer: ::c_long = 104;
++pub const SYS_getitimer: ::c_long = 105;
++pub const SYS_stat: ::c_long = 106;
++pub const SYS_lstat: ::c_long = 107;
++pub const SYS_fstat: ::c_long = 108;
++pub const SYS_olduname: ::c_long = 109;
++pub const SYS_iopl: ::c_long = 110;
++pub const SYS_vhangup: ::c_long = 111;
++pub const SYS_idle: ::c_long = 112;
++pub const SYS_vm86: ::c_long = 113;
++pub const SYS_wait4: ::c_long = 114;
++pub const SYS_swapoff: ::c_long = 115;
++pub const SYS_sysinfo: ::c_long = 116;
++pub const SYS_ipc: ::c_long = 117;
++pub const SYS_fsync: ::c_long = 118;
++pub const SYS_sigreturn: ::c_long = 119;
++pub const SYS_clone: ::c_long = 120;
++pub const SYS_setdomainname: ::c_long = 121;
++pub const SYS_uname: ::c_long = 122;
++pub const SYS_modify_ldt: ::c_long = 123;
++pub const SYS_adjtimex: ::c_long = 124;
++pub const SYS_mprotect: ::c_long = 125;
++pub const SYS_sigprocmask: ::c_long = 126;
++pub const SYS_create_module: ::c_long = 127;
++pub const SYS_init_module: ::c_long = 128;
++pub const SYS_delete_module: ::c_long = 129;
++pub const SYS_get_kernel_syms: ::c_long = 130;
++pub const SYS_quotactl: ::c_long = 131;
++pub const SYS_getpgid: ::c_long = 132;
++pub const SYS_fchdir: ::c_long = 133;
++pub const SYS_bdflush: ::c_long = 134;
++pub const SYS_sysfs: ::c_long = 135;
++pub const SYS_personality: ::c_long = 136;
++pub const SYS_afs_syscall: ::c_long = 137;
++pub const SYS_setfsuid: ::c_long = 138;
++pub const SYS_setfsgid: ::c_long = 139;
++pub const SYS__llseek: ::c_long = 140;
++pub const SYS_getdents: ::c_long = 141;
++pub const SYS__newselect: ::c_long = 142;
++pub const SYS_flock: ::c_long = 143;
++pub const SYS_msync: ::c_long = 144;
++pub const SYS_readv: ::c_long = 145;
++pub const SYS_writev: ::c_long = 146;
++pub const SYS_getsid: ::c_long = 147;
++pub const SYS_fdatasync: ::c_long = 148;
++pub const SYS__sysctl: ::c_long = 149;
++pub const SYS_mlock: ::c_long = 150;
++pub const SYS_munlock: ::c_long = 151;
++pub const SYS_mlockall: ::c_long = 152;
++pub const SYS_munlockall: ::c_long = 153;
++pub const SYS_sched_setparam: ::c_long = 154;
++pub const SYS_sched_getparam: ::c_long = 155;
++pub const SYS_sched_setscheduler: ::c_long = 156;
++pub const SYS_sched_getscheduler: ::c_long = 157;
++pub const SYS_sched_yield: ::c_long = 158;
++pub const SYS_sched_get_priority_max: ::c_long = 159;
++pub const SYS_sched_get_priority_min: ::c_long = 160;
++pub const SYS_sched_rr_get_interval: ::c_long = 161;
++pub const SYS_nanosleep: ::c_long = 162;
++pub const SYS_mremap: ::c_long = 163;
++pub const SYS_setresuid: ::c_long = 164;
++pub const SYS_getresuid: ::c_long = 165;
++pub const SYS_query_module: ::c_long = 166;
++pub const SYS_poll: ::c_long = 167;
++pub const SYS_nfsservctl: ::c_long = 168;
++pub const SYS_setresgid: ::c_long = 169;
++pub const SYS_getresgid: ::c_long = 170;
++pub const SYS_prctl: ::c_long = 171;
++pub const SYS_rt_sigreturn: ::c_long = 172;
++pub const SYS_rt_sigaction: ::c_long = 173;
++pub const SYS_rt_sigprocmask: ::c_long = 174;
++pub const SYS_rt_sigpending: ::c_long = 175;
++pub const SYS_rt_sigtimedwait: ::c_long = 176;
++pub const SYS_rt_sigqueueinfo: ::c_long = 177;
++pub const SYS_rt_sigsuspend: ::c_long = 178;
++pub const SYS_pread64: ::c_long = 179;
++pub const SYS_pwrite64: ::c_long = 180;
++pub const SYS_chown: ::c_long = 181;
++pub const SYS_getcwd: ::c_long = 182;
++pub const SYS_capget: ::c_long = 183;
++pub const SYS_capset: ::c_long = 184;
++pub const SYS_sigaltstack: ::c_long = 185;
++pub const SYS_sendfile: ::c_long = 186;
++pub const SYS_getpmsg: ::c_long = 187;
++pub const SYS_putpmsg: ::c_long = 188;
++pub const SYS_vfork: ::c_long = 189;
++pub const SYS_ugetrlimit: ::c_long = 190;
++pub const SYS_readahead: ::c_long = 191;
++pub const SYS_mmap2: ::c_long = 192;
++pub const SYS_truncate64: ::c_long = 193;
++pub const SYS_ftruncate64: ::c_long = 194;
++pub const SYS_stat64: ::c_long = 195;
++pub const SYS_lstat64: ::c_long = 196;
++pub const SYS_fstat64: ::c_long = 197;
++pub const SYS_pciconfig_read: ::c_long = 198;
++pub const SYS_pciconfig_write: ::c_long = 199;
++pub const SYS_pciconfig_iobase: ::c_long = 200;
++pub const SYS_multiplexer: ::c_long = 201;
++pub const SYS_getdents64: ::c_long = 202;
++pub const SYS_pivot_root: ::c_long = 203;
++pub const SYS_fcntl64: ::c_long = 204;
++pub const SYS_madvise: ::c_long = 205;
++pub const SYS_mincore: ::c_long = 206;
++pub const SYS_gettid: ::c_long = 207;
++pub const SYS_tkill: ::c_long = 208;
++pub const SYS_setxattr: ::c_long = 209;
++pub const SYS_lsetxattr: ::c_long = 210;
++pub const SYS_fsetxattr: ::c_long = 211;
++pub const SYS_getxattr: ::c_long = 212;
++pub const SYS_lgetxattr: ::c_long = 213;
++pub const SYS_fgetxattr: ::c_long = 214;
++pub const SYS_listxattr: ::c_long = 215;
++pub const SYS_llistxattr: ::c_long = 216;
++pub const SYS_flistxattr: ::c_long = 217;
++pub const SYS_removexattr: ::c_long = 218;
++pub const SYS_lremovexattr: ::c_long = 219;
++pub const SYS_fremovexattr: ::c_long = 220;
++pub const SYS_futex: ::c_long = 221;
++pub const SYS_sched_setaffinity: ::c_long = 222;
++pub const SYS_sched_getaffinity: ::c_long = 223;
++pub const SYS_tuxcall: ::c_long = 225;
++pub const SYS_sendfile64: ::c_long = 226;
++pub const SYS_io_setup: ::c_long = 227;
++pub const SYS_io_destroy: ::c_long = 228;
++pub const SYS_io_getevents: ::c_long = 229;
++pub const SYS_io_submit: ::c_long = 230;
++pub const SYS_io_cancel: ::c_long = 231;
++pub const SYS_set_tid_address: ::c_long = 232;
++pub const SYS_fadvise64: ::c_long = 233;
++pub const SYS_exit_group: ::c_long = 234;
++pub const SYS_lookup_dcookie: ::c_long = 235;
++pub const SYS_epoll_create: ::c_long = 236;
++pub const SYS_epoll_ctl: ::c_long = 237;
++pub const SYS_epoll_wait: ::c_long = 238;
++pub const SYS_remap_file_pages: ::c_long = 239;
++pub const SYS_timer_create: ::c_long = 240;
++pub const SYS_timer_settime: ::c_long = 241;
++pub const SYS_timer_gettime: ::c_long = 242;
++pub const SYS_timer_getoverrun: ::c_long = 243;
++pub const SYS_timer_delete: ::c_long = 244;
++pub const SYS_clock_settime: ::c_long = 245;
++pub const SYS_clock_gettime: ::c_long = 246;
++pub const SYS_clock_getres: ::c_long = 247;
++pub const SYS_clock_nanosleep: ::c_long = 248;
++pub const SYS_swapcontext: ::c_long = 249;
++pub const SYS_tgkill: ::c_long = 250;
++pub const SYS_utimes: ::c_long = 251;
++pub const SYS_statfs64: ::c_long = 252;
++pub const SYS_fstatfs64: ::c_long = 253;
++pub const SYS_fadvise64_64: ::c_long = 254;
++pub const SYS_rtas: ::c_long = 255;
++pub const SYS_sys_debug_setcontext: ::c_long = 256;
++pub const SYS_migrate_pages: ::c_long = 258;
++pub const SYS_mbind: ::c_long = 259;
++pub const SYS_get_mempolicy: ::c_long = 260;
++pub const SYS_set_mempolicy: ::c_long = 261;
++pub const SYS_mq_open: ::c_long = 262;
++pub const SYS_mq_unlink: ::c_long = 263;
++pub const SYS_mq_timedsend: ::c_long = 264;
++pub const SYS_mq_timedreceive: ::c_long = 265;
++pub const SYS_mq_notify: ::c_long = 266;
++pub const SYS_mq_getsetattr: ::c_long = 267;
++pub const SYS_kexec_load: ::c_long = 268;
++pub const SYS_add_key: ::c_long = 269;
++pub const SYS_request_key: ::c_long = 270;
++pub const SYS_keyctl: ::c_long = 271;
++pub const SYS_waitid: ::c_long = 272;
++pub const SYS_ioprio_set: ::c_long = 273;
++pub const SYS_ioprio_get: ::c_long = 274;
++pub const SYS_inotify_init: ::c_long = 275;
++pub const SYS_inotify_add_watch: ::c_long = 276;
++pub const SYS_inotify_rm_watch: ::c_long = 277;
++pub const SYS_spu_run: ::c_long = 278;
++pub const SYS_spu_create: ::c_long = 279;
++pub const SYS_pselect6: ::c_long = 280;
++pub const SYS_ppoll: ::c_long = 281;
++pub const SYS_unshare: ::c_long = 282;
++pub const SYS_splice: ::c_long = 283;
++pub const SYS_tee: ::c_long = 284;
++pub const SYS_vmsplice: ::c_long = 285;
++pub const SYS_openat: ::c_long = 286;
++pub const SYS_mkdirat: ::c_long = 287;
++pub const SYS_mknodat: ::c_long = 288;
++pub const SYS_fchownat: ::c_long = 289;
++pub const SYS_futimesat: ::c_long = 290;
++pub const SYS_fstatat64: ::c_long = 291;
++pub const SYS_unlinkat: ::c_long = 292;
++pub const SYS_renameat: ::c_long = 293;
++pub const SYS_linkat: ::c_long = 294;
++pub const SYS_symlinkat: ::c_long = 295;
++pub const SYS_readlinkat: ::c_long = 296;
++pub const SYS_fchmodat: ::c_long = 297;
++pub const SYS_faccessat: ::c_long = 298;
++pub const SYS_get_robust_list: ::c_long = 299;
++pub const SYS_set_robust_list: ::c_long = 300;
++pub const SYS_move_pages: ::c_long = 301;
++pub const SYS_getcpu: ::c_long = 302;
++pub const SYS_epoll_pwait: ::c_long = 303;
++pub const SYS_utimensat: ::c_long = 304;
++pub const SYS_signalfd: ::c_long = 305;
++pub const SYS_timerfd_create: ::c_long = 306;
++pub const SYS_eventfd: ::c_long = 307;
++pub const SYS_sync_file_range2: ::c_long = 308;
++pub const SYS_fallocate: ::c_long = 309;
++pub const SYS_subpage_prot: ::c_long = 310;
++pub const SYS_timerfd_settime: ::c_long = 311;
++pub const SYS_timerfd_gettime: ::c_long = 312;
++pub const SYS_signalfd4: ::c_long = 313;
++pub const SYS_eventfd2: ::c_long = 314;
++pub const SYS_epoll_create1: ::c_long = 315;
++pub const SYS_dup3: ::c_long = 316;
++pub const SYS_pipe2: ::c_long = 317;
++pub const SYS_inotify_init1: ::c_long = 318;
++pub const SYS_perf_event_open: ::c_long = 319;
++pub const SYS_preadv: ::c_long = 320;
++pub const SYS_pwritev: ::c_long = 321;
++pub const SYS_rt_tgsigqueueinfo: ::c_long = 322;
++pub const SYS_fanotify_init: ::c_long = 323;
++pub const SYS_fanotify_mark: ::c_long = 324;
++pub const SYS_prlimit64: ::c_long = 325;
++pub const SYS_socket: ::c_long = 326;
++pub const SYS_bind: ::c_long = 327;
++pub const SYS_connect: ::c_long = 328;
++pub const SYS_listen: ::c_long = 329;
++pub const SYS_accept: ::c_long = 330;
++pub const SYS_getsockname: ::c_long = 331;
++pub const SYS_getpeername: ::c_long = 332;
++pub const SYS_socketpair: ::c_long = 333;
++pub const SYS_send: ::c_long = 334;
++pub const SYS_sendto: ::c_long = 335;
++pub const SYS_recv: ::c_long = 336;
++pub const SYS_recvfrom: ::c_long = 337;
++pub const SYS_shutdown: ::c_long = 338;
++pub const SYS_setsockopt: ::c_long = 339;
++pub const SYS_getsockopt: ::c_long = 340;
++pub const SYS_sendmsg: ::c_long = 341;
++pub const SYS_recvmsg: ::c_long = 342;
++pub const SYS_recvmmsg: ::c_long = 343;
++pub const SYS_accept4: ::c_long = 344;
++pub const SYS_name_to_handle_at: ::c_long = 345;
++pub const SYS_open_by_handle_at: ::c_long = 346;
++pub const SYS_clock_adjtime: ::c_long = 347;
++pub const SYS_syncfs: ::c_long = 348;
++pub const SYS_sendmmsg: ::c_long = 349;
++pub const SYS_setns: ::c_long = 350;
++pub const SYS_process_vm_readv: ::c_long = 351;
++pub const SYS_process_vm_writev: ::c_long = 352;
++pub const SYS_finit_module: ::c_long = 353;
++pub const SYS_kcmp: ::c_long = 354;
++pub const SYS_sched_setattr: ::c_long = 355;
++pub const SYS_sched_getattr: ::c_long = 356;
++pub const SYS_renameat2: ::c_long = 357;
++pub const SYS_seccomp: ::c_long = 358;
++pub const SYS_getrandom: ::c_long = 359;
++pub const SYS_memfd_create: ::c_long = 360;
++pub const SYS_bpf: ::c_long = 361;
++pub const SYS_execveat: ::c_long = 362;
++pub const SYS_switch_endian: ::c_long = 363;
++pub const SYS_userfaultfd: ::c_long = 364;
++pub const SYS_membarrier: ::c_long = 365;
++pub const SYS_mlock2: ::c_long = 378;
++pub const SYS_copy_file_range: ::c_long = 379;
++pub const SYS_preadv2: ::c_long = 380;
++pub const SYS_pwritev2: ::c_long = 381;
++pub const SYS_kexec_file_load: ::c_long = 382;
++pub const SYS_statx: ::c_long = 383;
++pub const SYS_pkey_alloc: ::c_long = 384;
++pub const SYS_pkey_free: ::c_long = 385;
++pub const SYS_pkey_mprotect: ::c_long = 386;
++
++#[doc(hidden)]
++pub const AF_MAX: ::c_int = 43;
++#[doc(hidden)]
++pub const PF_MAX: ::c_int = AF_MAX;
+diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/x86.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/x86.rs
+index fa570248c72..9f704c7fac9 100644
+--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/x86.rs
++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/x86.rs
+@@ -52,6 +52,18 @@ s! {
+ pub ss_size: ::size_t
+ }
+
++ pub struct ipc_perm {
++ pub __ipc_perm_key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::mode_t,
++ pub __seq: ::c_int,
++ __unused1: ::c_long,
++ __unused2: ::c_long
++ }
++
+ pub struct shmid_ds {
+ pub shm_perm: ::ipc_perm,
+ pub shm_segsz: ::size_t,
+@@ -164,6 +176,9 @@ s! {
+ }
+ }
+
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++
+ pub const O_DIRECT: ::c_int = 0x4000;
+ pub const O_DIRECTORY: ::c_int = 0x10000;
+ pub const O_NOFOLLOW: ::c_int = 0x20000;
+@@ -178,6 +193,76 @@ pub const RLIMIT_NOFILE: ::c_int = 7;
+ pub const RLIMIT_AS: ::c_int = 9;
+ pub const RLIMIT_NPROC: ::c_int = 6;
+ pub const RLIMIT_MEMLOCK: ::c_int = 8;
++pub const RLIMIT_NLIMITS: ::c_int = 16;
++
++pub const MCL_CURRENT: ::c_int = 0x0001;
++pub const MCL_FUTURE: ::c_int = 0x0002;
++pub const CBAUD: ::tcflag_t = 0o0010017;
++pub const TAB1: ::c_int = 0x00000800;
++pub const TAB2: ::c_int = 0x00001000;
++pub const TAB3: ::c_int = 0x00001800;
++pub const CR1: ::c_int = 0x00000200;
++pub const CR2: ::c_int = 0x00000400;
++pub const CR3: ::c_int = 0x00000600;
++pub const FF1: ::c_int = 0x00008000;
++pub const BS1: ::c_int = 0x00002000;
++pub const VT1: ::c_int = 0x00004000;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 0x00000400;
++pub const IXOFF: ::tcflag_t = 0x00001000;
++pub const ONLCR: ::tcflag_t = 0x4;
++pub const CSIZE: ::tcflag_t = 0x00000030;
++pub const CS6: ::tcflag_t = 0x00000010;
++pub const CS7: ::tcflag_t = 0x00000020;
++pub const CS8: ::tcflag_t = 0x00000030;
++pub const CSTOPB: ::tcflag_t = 0x00000040;
++pub const CREAD: ::tcflag_t = 0x00000080;
++pub const PARENB: ::tcflag_t = 0x00000100;
++pub const PARODD: ::tcflag_t = 0x00000200;
++pub const HUPCL: ::tcflag_t = 0x00000400;
++pub const CLOCAL: ::tcflag_t = 0x00000800;
++pub const ECHOKE: ::tcflag_t = 0x00000800;
++pub const ECHOE: ::tcflag_t = 0x00000010;
++pub const ECHOK: ::tcflag_t = 0x00000020;
++pub const ECHONL: ::tcflag_t = 0x00000040;
++pub const ECHOPRT: ::tcflag_t = 0x00000400;
++pub const ECHOCTL: ::tcflag_t = 0x00000200;
++pub const ISIG: ::tcflag_t = 0x00000001;
++pub const ICANON: ::tcflag_t = 0x00000002;
++pub const PENDIN: ::tcflag_t = 0x00004000;
++pub const NOFLSH: ::tcflag_t = 0x00000080;
++pub const CIBAUD: ::tcflag_t = 0o02003600000;
++pub const CBAUDEX: ::tcflag_t = 0o010000;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 0o000002;
++pub const NLDLY: ::tcflag_t = 0o000400;
++pub const CRDLY: ::tcflag_t = 0o003000;
++pub const TABDLY: ::tcflag_t = 0o014000;
++pub const BSDLY: ::tcflag_t = 0o020000;
++pub const FFDLY: ::tcflag_t = 0o100000;
++pub const VTDLY: ::tcflag_t = 0o040000;
++pub const XTABS: ::tcflag_t = 0o014000;
++pub const B57600: ::speed_t = 0o010001;
++pub const B115200: ::speed_t = 0o010002;
++pub const B230400: ::speed_t = 0o010003;
++pub const B460800: ::speed_t = 0o010004;
++pub const B500000: ::speed_t = 0o010005;
++pub const B576000: ::speed_t = 0o010006;
++pub const B921600: ::speed_t = 0o010007;
++pub const B1000000: ::speed_t = 0o010010;
++pub const B1152000: ::speed_t = 0o010011;
++pub const B1500000: ::speed_t = 0o010012;
++pub const B2000000: ::speed_t = 0o010013;
++pub const B2500000: ::speed_t = 0o010014;
++pub const B3000000: ::speed_t = 0o010015;
++pub const B3500000: ::speed_t = 0o010016;
++pub const B4000000: ::speed_t = 0o010017;
+
+ pub const O_APPEND: ::c_int = 1024;
+ pub const O_CREAT: ::c_int = 64;
+diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs
+index 0d92a4b9d14..10d61ebebef 100644
+--- a/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs
++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs
+@@ -260,7 +260,8 @@ cfg_if! {
+ pub use self::b64::*;
+ } else if #[cfg(any(target_arch = "x86",
+ target_arch = "mips",
+- target_arch = "arm"))] {
++ target_arch = "arm",
++ target_arch = "powerpc"))] {
+ mod b32;
+ pub use self::b32::*;
+ } else { }
diff --git a/user/rust/0033-liblibc-checksums.patch b/user/rust/0035-libc-checksums.patch
index 3a1f5f423..a8ec2c150 100644
--- a/user/rust/0033-liblibc-checksums.patch
+++ b/user/rust/0035-libc-checksums.patch
@@ -5,5 +5,5 @@ index 5b315f61..c28c8c5c 100644
@@ -1 +1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"7150ee9391a955b2ef7e0762fc61c0c1aab167620ca36d88d78062d93b8334ba",".travis.yml":"9750910d5fdc61263fb3eae7f5f78e2920923f250150f8500c0c22a830790acd","Cargo.toml":"4629bf1256274045a39aedc78a7f6b48b5bf7fdf177cd69c4eb65909586ab0cf","Cargo.toml.orig":"423b6276994f73cf7fc57dafad118ff8b0e207eb55ebe57a0ee1a149bf36f544","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"fdf0f0c197e2999fce42457fb089f192a42d2fb1f743c9c8fcda1a44cb40e1fa","appveyor.yml":"216f7ac4561aa5810dc84ce5a9950897a8c0496e0615d0211d62348b1c8dc720","ci/README.md":"2e3d7ad13f8c3202e57d2af73aeeebde306221dce7c0907e462e25767a692d6b","ci/android-install-ndk.sh":"725db9025c5905849916bf7c910f98ff0e753484397c2a1f836d48a576d10890","ci/android-install-sdk.sh":"5c3fbe402ac611239ac7715a61f247d1c55fa012f33a5be0b0127dfc196965cf","ci/android-sysimage.sh":"901415631752827454c827e8c51906ba4260612e4021eda98eb7fff771c7d0e8","ci/docker/aarch64-linux-android/Dockerfile":"e17945fba1786dfe766006f50e79baf3f4151ca0c0c14ae96f91483bf345afd7","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"5f430271941e1eecdf9d1a5fb701dd5622e2c4b9da03140fd829bf216e55529d","ci/docker/aarch64-unknown-linux-musl/Dockerfile":"3e1cbf0fa728571b9be9769e5a6281c964fa5b26d586265117ccee017ca4022c","ci/docker/arm-linux-androideabi/Dockerfile":"4e0bdc13254f99bd0db195f91331c634050426e3e4a0fcc63ef25ab795fe2d46","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"dbb025b53b27e406893184290836a50133ecae8295711d5e05b4e41fac9bd262","ci/docker/arm-unknown-linux-musleabihf/Dockerfile":"7cb6e0f8fb91c97f142a9c827687bbbc1a5e7643a3081160025d0365593a596c","ci/docker/asmjs-unknown-emscripten/Dockerfile":"0d9aea5119c2cd136cc2c0a578105d91210e45901ac49b17c5e45f458b1c7551","ci/docker/i686-linux-android/Dockerfile":"4e8377ec0bd9ad2df23bf2c5373200a12750dc9f28c4f10bc83a0150fe1623ee","ci/docker/i686-unknown-linux-gnu/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/i686-unknown-linux-musl/Dockerfile":"4ac86fe9e159d454616396a9f3f07ce0f5d99cc4b49898b8d2486e6bdbfed9e9","ci/docker/mips-unknown-linux-gnu/Dockerfile":"6d2a9daa299003497c1d441d07b69f730ad75ee49f34520f959b5158e60072e0","ci/docker/mips-unknown-linux-musl/Dockerfile":"4773b2656a7dd6a3b106fcb737428436652edf3d1f48181de3f62c16bf5bd49d","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"7c4d26232f1c1553a6612d9b0b3faac9887e139eaffa025f70d34113dcee812f","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"edb4144c07ade1a8bd65272ec1d3672ad794e9e6b7d01197896e159a70175b58","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"0ca9c12b5618c6d2df04ff820d56fb28e05b43e45eaa506480126b03c5072d48","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"4b247dcc399395815ec9153c1247cc03d764896c484eddcb196d0bf8650d6311","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"e949717a8ba5e123940729ff47ce1c45989c8b8247c576f1488f698b534e0283","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"018591017f499414a9f79477e1c39baa6a47f71fce6812fb1868fb0fcdfb8cea","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"9860f478c5b2dc3bcf76d2cda7f71922a2a2ef54898cc2ed6ea9b9eff094a5c0","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"2312491343665d2ab36fd669f14766facbf3c7e9820ffb8f0d623830b676f8f0","ci/docker/wasm32-unknown-emscripten/Dockerfile":"bd072d6ae91a9160693e402dd77462d3c9dd0716711e719a62af330ae479eb4e","ci/docker/wasm32-unknown-emscripten/node-wrapper.sh":"0eef37c3c4fb16dbc083148b7e7af45f2ae60bd9a1b3a77e1d43da79efbd30c6","ci/docker/x86_64-linux-android/Dockerfile":"aeeaa540189ca712369c564c9a14cbace63217dadcfaf879a2cb40fbdeb08199","ci/docker/x86_64-rumprun-netbsd/Dockerfile":"e8f9287b267c6058eec42d1bca0007cb9a78a1d244dd8e11088368cb61fb17d6","ci/docker/x86_64-rumprun-netbsd/runtest.rs":"53302e9ed39293c1ec68ab56287593907d4aaf5bac9c1c2857b29f754a71d62b","ci/docker/x86_64-unknown-freebsd/Dockerfile":"ab1f14c65c29f3721c7c091bdec2e865fb1abf45fdcdc867201d087966e396c4","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"ab3fa45765802b8155996796fcad9fb82096360ac587e38e6faa3ec345268796","ci/docker/x86_64-unknown-linux-gnux32/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/x86_64-unknown-linux-musl/Dockerfile":"e145784741473150473b1bef7cc3c2cf0c6339d4fc480113ac41b4247a9b38ec","ci/dox.sh":"d77171a9da467bb01fc702a28fc3b5099f82a485a627f3d5593a9830c3e1a77c","ci/emscripten-entry.sh":"c97bbec520b57af9b1ae264ca991560e99c3852c99b00a2f673c614d1ba17498","ci/emscripten.sh":"6f66c7b5c3d34a41afc59ceb0a8c3b0880cd6fd9a6344b874ae80bac0639ccb2","ci/ios/deploy_and_run_on_ios_simulator.rs":"3175066fd7f82390f6226d881e1a1dda9767ea2705656870e0d7774e2731800e","ci/landing-page-footer.html":"b70b3112c2147f5c967e7481061ef38bc2d79a28dd55a16fb916d9c9426da2c4","ci/landing-page-head.html":"ad69663fac7924f27d0209bc519d55838e86edfc4133713a6fd08caadac1b142","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/run-docker.sh":"be83bc5a8b5ef913a7c9941ffca24734716028650c9a876123c4c160672c18de","ci/run-qemu.sh":"bb859421170871ef23a8940c5e150efec0c01b95e32d2ce2d37b79a45d9d346c","ci/run.sh":"25f8fd0a88d5673bb872dbb7aef8d44ebbf6c863e10352cd79de557ce3e2e252","ci/runtest-android.rs":"a07ddbdd276aedda7876c7e676774178a60d9aeab95df01275a4ee95f59e3044","ci/style.rs":"940c06a676cff1dfc1555b887e46867c6aacc473956cd6aaafaed71824facdb2","ci/test-runner-linux":"cb3713d9e4fa1d9a7c039dfd077af0939921c1f2bf969c9e680ee66e87dc30a4","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"1c2dc787a1b3438970ccd04153c93538719b1a27445707913b90b6f0cdcdde77","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"8f6037887281b828d8541ce8a549dacaed5d29c05fd9cf78b169838476b82741","src/fuchsia/aarch64.rs":"8366ac6f51e494aad9266ccab2b3a95c5ed7aa3a9f77ea672413283440919743","src/fuchsia/mod.rs":"56ee2333b856db94cc1f1f4350885ad2a4ed0e1b4e8792615aa0b257e2941192","src/fuchsia/powerpc64.rs":"390e8db54271a1d5f512d54a21b328091a792378bf9b42b49b6c1a72388da4ec","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"e434d3def305ea28108b59841396ef8949333db9223aa11886ee05cd1c0ce8b0","src/macros.rs":"2e7048e266efdef4298254b7186a27736182c94adb0648aed0c8d735f66a5139","src/redox/mod.rs":"029a9af78211d86fe3108100c33f58d6e73ab09c826b641a9732325dc700d8e8","src/redox/net.rs":"0946ab864a2eeb20a365dc541c060f7a238c75356bb57de39956a486607f7ce1","src/unix/bsd/apple/b32.rs":"41699d2802327b0a4d4aa50cd20b1e366b442176cbedab27ca888ac0446c9156","src/unix/bsd/apple/b64.rs":"4fe7bf5de252dcd712dee0a7a8acfaa7c737c862eaa3ff669255d3f2076c5fa6","src/unix/bsd/apple/mod.rs":"3a423665ca29d73a4a29503f5f58277b7d19cb8df175c5f11666983880ef276f","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"1950bf56a7ecbfc8994e4b54dc94e752d91dccd8f0e2d1e4c2d3ad2fa8cb5e23","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"e762bacf0b96295ae241717210323c7442d199d9863159ee73462954fc855e1d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"d6096edda549bb2af16d083ee86561f5eb6bfa728d3cfac1938f0f84592bde5d","src/unix/bsd/mod.rs":"a1030452eed4ec52a39e9f39040e8fae4309143c7af145efadd9b425caa39672","src/unix/bsd/netbsdlike/mod.rs":"a685c1d23cb17758c3249b9c4ab45a50474e79270891235176b5f796f365380c","src/unix/bsd/netbsdlike/netbsd/mod.rs":"46a28912a4741e500f392131cc71273621de0234c4c28e29d8bf51c015ca7840","src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/netbsd/other/mod.rs":"4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"92459d80b8e5b570c0efe35a1d244d38f23072cd28b6581dfcb313dc9bfc3d51","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"cec53623e2269aea4437554a405452e7d3b09648b7cf6872d257d36ba979e2ec","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"44035aad2907dffb6b18687ac7ddc76b5268af92b4e4f4c87759a00cae4de900","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"7c959cdb3415f68a0f948117b9aa87a17463e57ab97cc3235f2567454b706653","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"ddd834c5c4e5ec7771d0f0071517c2d00095d5595f87a52245380ac762f7f011","src/unix/mod.rs":"47d253eef3bc46dacb0df2951b2136e41c4e758ffd34473b144f6108a90749f9","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"7422845a44de13a2faf15d105670525ed090c6e200c9723178ed735810bbd689","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":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"c83157cf4a74c653b877c4d42b565d4a7d31e46e32015f19fc91447df2489a58","src/unix/notbsd/emscripten.rs":"5beb9bc98b6b317e85f2935db2aad9ef9cb2ab2e881917064fa7adf944568dae","src/unix/notbsd/linux/mips/mips32.rs":"df3268b082962844c94733c58782ecd9386ffe1f5ed8e05a703a6fa1e80b8f7f","src/unix/notbsd/linux/mips/mips64.rs":"88ad72fa125b9a2c0bd98ef03a7f5ceff78a39b0628d0d0f997ac9b6b82fe16b","src/unix/notbsd/linux/mips/mod.rs":"32c3e7cf430575544bbe4a670cbbf2b4dbe1f28b4895feb6f43fa33d6da25e1d","src/unix/notbsd/linux/mod.rs":"d37bd8bd956b7ab3484b2ad3ee7c1848574bbd37027c76ac06f4d7ca2906cf01","src/unix/notbsd/linux/musl/b32/arm.rs":"d2998b13648696304bb34f0793715d821178baf8e88a45b532764a20b5294232","src/unix/notbsd/linux/musl/b32/mips.rs":"340be794362a4532d709ef23542b10762f710f7bfd0c4fafa5166a3fb9a15b4f","src/unix/notbsd/linux/musl/b32/mod.rs":"3cc7979546258a47df6b0fcd7ad64571826623671857633a7acafe87e05e56a1","src/unix/notbsd/linux/musl/b32/x86.rs":"df114102dcf35bc32f891d4a9e09ce02fbe4c096a196c6b98b10ff87b29dbe4d","src/unix/notbsd/linux/musl/b64/aarch64.rs":"12c590fde2a1450c08934234c4f5bcd94ee7b58ca21f8e93bc930148c15fb0b0","src/unix/notbsd/linux/musl/b64/mod.rs":"b1991ef46a00d2db7ce3e36f6596685c1d508786c4dd4e62cbbf65ac3c256cc0","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"790dca3cc6c0a4166992d2c1665e1b1e320fbad5c0b1ba3c454321a6b2d7a103","src/unix/notbsd/linux/musl/b64/x86_64.rs":"bf8fc10a09bf700084db0381c484ddec3add79aa1726954cb14d21802ff7d199","src/unix/notbsd/linux/musl/mod.rs":"a9323bffa1a8ed40a67a3b2cbb1dec6ebb0d565d8308e43e8623101ac739cd60","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"7d77f1dd8327b1249769496351cf287d0fff3852f87bde2f58afc67e6dc54a4f","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":"ed6ea00e3281ad2f4bab82821f20a2ff5b48401a65618bd6a544bc24ea4e3e39","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"9b5e2321c0114c2740dcb86d9f1f3584c07ded921a157164ae8bb0712d397818","src/unix/notbsd/linux/other/b64/powerpc64.rs":"ca25b5f94a9147a984fcb70cf48a261b30df14e2e8194ac174363b6280e82a29","src/unix/notbsd/linux/other/b64/sparc64.rs":"a84580fe226654e33f8ddd0f1f7f2069c29334fc826a74f81f7892b87cfb9083","src/unix/notbsd/linux/other/b64/x32.rs":"ae7698b217106a6c00465f9d10df24d45ad9b7dfc280b24168f53f42198b7b92","src/unix/notbsd/linux/other/b64/x86_64.rs":"afba464e903d350325a1ca3d9d5af1659efc0ede83a43dbac4dbd60c522e2ad1","src/unix/notbsd/linux/other/mod.rs":"7065a7e83834f38ee2f4e03f28824eb94111c13f10e7a8b76ee7025686a84e7f","src/unix/notbsd/linux/s390x.rs":"259c5533ba7f0b10bb23d01dc0e53301afd236a7bb4339dcef9472c579503729","src/unix/notbsd/mod.rs":"eff4c19451d4d4579d5c483a941a7b259b7b73c3ab13c31fc54a7961e8292b9a","src/unix/solaris/mod.rs":"9c6af198a2f80da827054784faf70bc404673d9568fb45664b4f73c46245fdbd","src/unix/uclibc/mips/mips32.rs":"4dcb19abae37f02f08660bdad500c3230436322b581eba37287c73a742d6fcdc","src/unix/uclibc/mips/mips64.rs":"e67eec1636a998b047d89a4cda1c99cb6bc3071db017762675179a68201c4438","src/unix/uclibc/mips/mod.rs":"3f86061d05a8da7d923310550b7d40c6223f0c907d77edc86b7a78da1d647f76","src/unix/uclibc/mod.rs":"3605127517734b5f5f20be1d37e52184a77ecc6fb6099b88aa744e0aca1b802a","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"69ec3ca821a483cc076e84a794bbecb3e5536af1c1d5b807eaf1db9af11f771d","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows.rs":"e41357d610608bad81abf285306ad8b127b6f02d5132f63c4942861980b47d59"},"package":"b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1"}
\ No newline at end of file
-+{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"7150ee9391a955b2ef7e0762fc61c0c1aab167620ca36d88d78062d93b8334ba",".travis.yml":"9750910d5fdc61263fb3eae7f5f78e2920923f250150f8500c0c22a830790acd","Cargo.toml":"4629bf1256274045a39aedc78a7f6b48b5bf7fdf177cd69c4eb65909586ab0cf","Cargo.toml.orig":"423b6276994f73cf7fc57dafad118ff8b0e207eb55ebe57a0ee1a149bf36f544","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"fdf0f0c197e2999fce42457fb089f192a42d2fb1f743c9c8fcda1a44cb40e1fa","appveyor.yml":"216f7ac4561aa5810dc84ce5a9950897a8c0496e0615d0211d62348b1c8dc720","ci/README.md":"2e3d7ad13f8c3202e57d2af73aeeebde306221dce7c0907e462e25767a692d6b","ci/android-install-ndk.sh":"725db9025c5905849916bf7c910f98ff0e753484397c2a1f836d48a576d10890","ci/android-install-sdk.sh":"5c3fbe402ac611239ac7715a61f247d1c55fa012f33a5be0b0127dfc196965cf","ci/android-sysimage.sh":"901415631752827454c827e8c51906ba4260612e4021eda98eb7fff771c7d0e8","ci/docker/aarch64-linux-android/Dockerfile":"e17945fba1786dfe766006f50e79baf3f4151ca0c0c14ae96f91483bf345afd7","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"5f430271941e1eecdf9d1a5fb701dd5622e2c4b9da03140fd829bf216e55529d","ci/docker/aarch64-unknown-linux-musl/Dockerfile":"3e1cbf0fa728571b9be9769e5a6281c964fa5b26d586265117ccee017ca4022c","ci/docker/arm-linux-androideabi/Dockerfile":"4e0bdc13254f99bd0db195f91331c634050426e3e4a0fcc63ef25ab795fe2d46","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"dbb025b53b27e406893184290836a50133ecae8295711d5e05b4e41fac9bd262","ci/docker/arm-unknown-linux-musleabihf/Dockerfile":"7cb6e0f8fb91c97f142a9c827687bbbc1a5e7643a3081160025d0365593a596c","ci/docker/asmjs-unknown-emscripten/Dockerfile":"0d9aea5119c2cd136cc2c0a578105d91210e45901ac49b17c5e45f458b1c7551","ci/docker/i686-linux-android/Dockerfile":"4e8377ec0bd9ad2df23bf2c5373200a12750dc9f28c4f10bc83a0150fe1623ee","ci/docker/i686-unknown-linux-gnu/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/i686-unknown-linux-musl/Dockerfile":"4ac86fe9e159d454616396a9f3f07ce0f5d99cc4b49898b8d2486e6bdbfed9e9","ci/docker/mips-unknown-linux-gnu/Dockerfile":"6d2a9daa299003497c1d441d07b69f730ad75ee49f34520f959b5158e60072e0","ci/docker/mips-unknown-linux-musl/Dockerfile":"4773b2656a7dd6a3b106fcb737428436652edf3d1f48181de3f62c16bf5bd49d","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"7c4d26232f1c1553a6612d9b0b3faac9887e139eaffa025f70d34113dcee812f","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"edb4144c07ade1a8bd65272ec1d3672ad794e9e6b7d01197896e159a70175b58","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"0ca9c12b5618c6d2df04ff820d56fb28e05b43e45eaa506480126b03c5072d48","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"4b247dcc399395815ec9153c1247cc03d764896c484eddcb196d0bf8650d6311","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"e949717a8ba5e123940729ff47ce1c45989c8b8247c576f1488f698b534e0283","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"018591017f499414a9f79477e1c39baa6a47f71fce6812fb1868fb0fcdfb8cea","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"9860f478c5b2dc3bcf76d2cda7f71922a2a2ef54898cc2ed6ea9b9eff094a5c0","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"2312491343665d2ab36fd669f14766facbf3c7e9820ffb8f0d623830b676f8f0","ci/docker/wasm32-unknown-emscripten/Dockerfile":"bd072d6ae91a9160693e402dd77462d3c9dd0716711e719a62af330ae479eb4e","ci/docker/wasm32-unknown-emscripten/node-wrapper.sh":"0eef37c3c4fb16dbc083148b7e7af45f2ae60bd9a1b3a77e1d43da79efbd30c6","ci/docker/x86_64-linux-android/Dockerfile":"aeeaa540189ca712369c564c9a14cbace63217dadcfaf879a2cb40fbdeb08199","ci/docker/x86_64-rumprun-netbsd/Dockerfile":"e8f9287b267c6058eec42d1bca0007cb9a78a1d244dd8e11088368cb61fb17d6","ci/docker/x86_64-rumprun-netbsd/runtest.rs":"53302e9ed39293c1ec68ab56287593907d4aaf5bac9c1c2857b29f754a71d62b","ci/docker/x86_64-unknown-freebsd/Dockerfile":"ab1f14c65c29f3721c7c091bdec2e865fb1abf45fdcdc867201d087966e396c4","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"ab3fa45765802b8155996796fcad9fb82096360ac587e38e6faa3ec345268796","ci/docker/x86_64-unknown-linux-gnux32/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/x86_64-unknown-linux-musl/Dockerfile":"e145784741473150473b1bef7cc3c2cf0c6339d4fc480113ac41b4247a9b38ec","ci/dox.sh":"d77171a9da467bb01fc702a28fc3b5099f82a485a627f3d5593a9830c3e1a77c","ci/emscripten-entry.sh":"c97bbec520b57af9b1ae264ca991560e99c3852c99b00a2f673c614d1ba17498","ci/emscripten.sh":"6f66c7b5c3d34a41afc59ceb0a8c3b0880cd6fd9a6344b874ae80bac0639ccb2","ci/ios/deploy_and_run_on_ios_simulator.rs":"3175066fd7f82390f6226d881e1a1dda9767ea2705656870e0d7774e2731800e","ci/landing-page-footer.html":"b70b3112c2147f5c967e7481061ef38bc2d79a28dd55a16fb916d9c9426da2c4","ci/landing-page-head.html":"ad69663fac7924f27d0209bc519d55838e86edfc4133713a6fd08caadac1b142","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/run-docker.sh":"be83bc5a8b5ef913a7c9941ffca24734716028650c9a876123c4c160672c18de","ci/run-qemu.sh":"bb859421170871ef23a8940c5e150efec0c01b95e32d2ce2d37b79a45d9d346c","ci/run.sh":"25f8fd0a88d5673bb872dbb7aef8d44ebbf6c863e10352cd79de557ce3e2e252","ci/runtest-android.rs":"a07ddbdd276aedda7876c7e676774178a60d9aeab95df01275a4ee95f59e3044","ci/style.rs":"940c06a676cff1dfc1555b887e46867c6aacc473956cd6aaafaed71824facdb2","ci/test-runner-linux":"cb3713d9e4fa1d9a7c039dfd077af0939921c1f2bf969c9e680ee66e87dc30a4","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"1c2dc787a1b3438970ccd04153c93538719b1a27445707913b90b6f0cdcdde77","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"8f6037887281b828d8541ce8a549dacaed5d29c05fd9cf78b169838476b82741","src/fuchsia/aarch64.rs":"8366ac6f51e494aad9266ccab2b3a95c5ed7aa3a9f77ea672413283440919743","src/fuchsia/mod.rs":"56ee2333b856db94cc1f1f4350885ad2a4ed0e1b4e8792615aa0b257e2941192","src/fuchsia/powerpc64.rs":"390e8db54271a1d5f512d54a21b328091a792378bf9b42b49b6c1a72388da4ec","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"e434d3def305ea28108b59841396ef8949333db9223aa11886ee05cd1c0ce8b0","src/macros.rs":"2e7048e266efdef4298254b7186a27736182c94adb0648aed0c8d735f66a5139","src/redox/mod.rs":"029a9af78211d86fe3108100c33f58d6e73ab09c826b641a9732325dc700d8e8","src/redox/net.rs":"0946ab864a2eeb20a365dc541c060f7a238c75356bb57de39956a486607f7ce1","src/unix/bsd/apple/b32.rs":"41699d2802327b0a4d4aa50cd20b1e366b442176cbedab27ca888ac0446c9156","src/unix/bsd/apple/b64.rs":"4fe7bf5de252dcd712dee0a7a8acfaa7c737c862eaa3ff669255d3f2076c5fa6","src/unix/bsd/apple/mod.rs":"3a423665ca29d73a4a29503f5f58277b7d19cb8df175c5f11666983880ef276f","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"1950bf56a7ecbfc8994e4b54dc94e752d91dccd8f0e2d1e4c2d3ad2fa8cb5e23","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"e762bacf0b96295ae241717210323c7442d199d9863159ee73462954fc855e1d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"d6096edda549bb2af16d083ee86561f5eb6bfa728d3cfac1938f0f84592bde5d","src/unix/bsd/mod.rs":"a1030452eed4ec52a39e9f39040e8fae4309143c7af145efadd9b425caa39672","src/unix/bsd/netbsdlike/mod.rs":"a685c1d23cb17758c3249b9c4ab45a50474e79270891235176b5f796f365380c","src/unix/bsd/netbsdlike/netbsd/mod.rs":"46a28912a4741e500f392131cc71273621de0234c4c28e29d8bf51c015ca7840","src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/netbsd/other/mod.rs":"4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"92459d80b8e5b570c0efe35a1d244d38f23072cd28b6581dfcb313dc9bfc3d51","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"cec53623e2269aea4437554a405452e7d3b09648b7cf6872d257d36ba979e2ec","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"44035aad2907dffb6b18687ac7ddc76b5268af92b4e4f4c87759a00cae4de900","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"7c959cdb3415f68a0f948117b9aa87a17463e57ab97cc3235f2567454b706653","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"ddd834c5c4e5ec7771d0f0071517c2d00095d5595f87a52245380ac762f7f011","src/unix/mod.rs":"47d253eef3bc46dacb0df2951b2136e41c4e758ffd34473b144f6108a90749f9","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"7422845a44de13a2faf15d105670525ed090c6e200c9723178ed735810bbd689","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":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"c83157cf4a74c653b877c4d42b565d4a7d31e46e32015f19fc91447df2489a58","src/unix/notbsd/emscripten.rs":"5beb9bc98b6b317e85f2935db2aad9ef9cb2ab2e881917064fa7adf944568dae","src/unix/notbsd/linux/mips/mips32.rs":"df3268b082962844c94733c58782ecd9386ffe1f5ed8e05a703a6fa1e80b8f7f","src/unix/notbsd/linux/mips/mips64.rs":"88ad72fa125b9a2c0bd98ef03a7f5ceff78a39b0628d0d0f997ac9b6b82fe16b","src/unix/notbsd/linux/mips/mod.rs":"32c3e7cf430575544bbe4a670cbbf2b4dbe1f28b4895feb6f43fa33d6da25e1d","src/unix/notbsd/linux/mod.rs":"d37bd8bd956b7ab3484b2ad3ee7c1848574bbd37027c76ac06f4d7ca2906cf01","src/unix/notbsd/linux/musl/b32/arm.rs":"d2998b13648696304bb34f0793715d821178baf8e88a45b532764a20b5294232","src/unix/notbsd/linux/musl/b32/mips.rs":"340be794362a4532d709ef23542b10762f710f7bfd0c4fafa5166a3fb9a15b4f","src/unix/notbsd/linux/musl/b32/mod.rs":"026476800c0f02be1221b9623632ceb8c4f3c423c5a9024cbe41f5647844cbf8","src/unix/notbsd/linux/musl/b32/x86.rs":"df114102dcf35bc32f891d4a9e09ce02fbe4c096a196c6b98b10ff87b29dbe4d","src/unix/notbsd/linux/musl/b64/aarch64.rs":"4d79d86d11fbb8cb7a74084e410a1140e3c89dfc1842cdfb213f3a0ca93046df","src/unix/notbsd/linux/musl/b64/mod.rs":"caac00326693b372d6805e4dda239475e7fef36368881f372c006264844fda0d","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"24514e41be4b5f5e0ffbe8a25a99dae8989489b607db59e8bfa345f8e65c9963","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"f89154d5225ad8c93d1890d0bbf2855af2ec0e93c2c1b9cbf02f35561c2b7c16","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"7d77f1dd8327b1249769496351cf287d0fff3852f87bde2f58afc67e6dc54a4f","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":"ed6ea00e3281ad2f4bab82821f20a2ff5b48401a65618bd6a544bc24ea4e3e39","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"9b5e2321c0114c2740dcb86d9f1f3584c07ded921a157164ae8bb0712d397818","src/unix/notbsd/linux/other/b64/powerpc64.rs":"ca25b5f94a9147a984fcb70cf48a261b30df14e2e8194ac174363b6280e82a29","src/unix/notbsd/linux/other/b64/sparc64.rs":"a84580fe226654e33f8ddd0f1f7f2069c29334fc826a74f81f7892b87cfb9083","src/unix/notbsd/linux/other/b64/x32.rs":"ae7698b217106a6c00465f9d10df24d45ad9b7dfc280b24168f53f42198b7b92","src/unix/notbsd/linux/other/b64/x86_64.rs":"afba464e903d350325a1ca3d9d5af1659efc0ede83a43dbac4dbd60c522e2ad1","src/unix/notbsd/linux/other/mod.rs":"7065a7e83834f38ee2f4e03f28824eb94111c13f10e7a8b76ee7025686a84e7f","src/unix/notbsd/linux/s390x.rs":"259c5533ba7f0b10bb23d01dc0e53301afd236a7bb4339dcef9472c579503729","src/unix/notbsd/mod.rs":"eff4c19451d4d4579d5c483a941a7b259b7b73c3ab13c31fc54a7961e8292b9a","src/unix/solaris/mod.rs":"9c6af198a2f80da827054784faf70bc404673d9568fb45664b4f73c46245fdbd","src/unix/uclibc/mips/mips32.rs":"4dcb19abae37f02f08660bdad500c3230436322b581eba37287c73a742d6fcdc","src/unix/uclibc/mips/mips64.rs":"e67eec1636a998b047d89a4cda1c99cb6bc3071db017762675179a68201c4438","src/unix/uclibc/mips/mod.rs":"3f86061d05a8da7d923310550b7d40c6223f0c907d77edc86b7a78da1d647f76","src/unix/uclibc/mod.rs":"3605127517734b5f5f20be1d37e52184a77ecc6fb6099b88aa744e0aca1b802a","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"69ec3ca821a483cc076e84a794bbecb3e5536af1c1d5b807eaf1db9af11f771d","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows.rs":"e41357d610608bad81abf285306ad8b127b6f02d5132f63c4942861980b47d59"},"package":"b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1"}
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"7150ee9391a955b2ef7e0762fc61c0c1aab167620ca36d88d78062d93b8334ba",".travis.yml":"9750910d5fdc61263fb3eae7f5f78e2920923f250150f8500c0c22a830790acd","Cargo.toml":"4629bf1256274045a39aedc78a7f6b48b5bf7fdf177cd69c4eb65909586ab0cf","Cargo.toml.orig":"423b6276994f73cf7fc57dafad118ff8b0e207eb55ebe57a0ee1a149bf36f544","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"fdf0f0c197e2999fce42457fb089f192a42d2fb1f743c9c8fcda1a44cb40e1fa","appveyor.yml":"216f7ac4561aa5810dc84ce5a9950897a8c0496e0615d0211d62348b1c8dc720","ci/README.md":"2e3d7ad13f8c3202e57d2af73aeeebde306221dce7c0907e462e25767a692d6b","ci/android-install-ndk.sh":"725db9025c5905849916bf7c910f98ff0e753484397c2a1f836d48a576d10890","ci/android-install-sdk.sh":"5c3fbe402ac611239ac7715a61f247d1c55fa012f33a5be0b0127dfc196965cf","ci/android-sysimage.sh":"901415631752827454c827e8c51906ba4260612e4021eda98eb7fff771c7d0e8","ci/docker/aarch64-linux-android/Dockerfile":"e17945fba1786dfe766006f50e79baf3f4151ca0c0c14ae96f91483bf345afd7","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"5f430271941e1eecdf9d1a5fb701dd5622e2c4b9da03140fd829bf216e55529d","ci/docker/aarch64-unknown-linux-musl/Dockerfile":"3e1cbf0fa728571b9be9769e5a6281c964fa5b26d586265117ccee017ca4022c","ci/docker/arm-linux-androideabi/Dockerfile":"4e0bdc13254f99bd0db195f91331c634050426e3e4a0fcc63ef25ab795fe2d46","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"dbb025b53b27e406893184290836a50133ecae8295711d5e05b4e41fac9bd262","ci/docker/arm-unknown-linux-musleabihf/Dockerfile":"7cb6e0f8fb91c97f142a9c827687bbbc1a5e7643a3081160025d0365593a596c","ci/docker/asmjs-unknown-emscripten/Dockerfile":"0d9aea5119c2cd136cc2c0a578105d91210e45901ac49b17c5e45f458b1c7551","ci/docker/i686-linux-android/Dockerfile":"4e8377ec0bd9ad2df23bf2c5373200a12750dc9f28c4f10bc83a0150fe1623ee","ci/docker/i686-unknown-linux-gnu/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/i686-unknown-linux-musl/Dockerfile":"4ac86fe9e159d454616396a9f3f07ce0f5d99cc4b49898b8d2486e6bdbfed9e9","ci/docker/mips-unknown-linux-gnu/Dockerfile":"6d2a9daa299003497c1d441d07b69f730ad75ee49f34520f959b5158e60072e0","ci/docker/mips-unknown-linux-musl/Dockerfile":"4773b2656a7dd6a3b106fcb737428436652edf3d1f48181de3f62c16bf5bd49d","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"7c4d26232f1c1553a6612d9b0b3faac9887e139eaffa025f70d34113dcee812f","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"edb4144c07ade1a8bd65272ec1d3672ad794e9e6b7d01197896e159a70175b58","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"0ca9c12b5618c6d2df04ff820d56fb28e05b43e45eaa506480126b03c5072d48","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"4b247dcc399395815ec9153c1247cc03d764896c484eddcb196d0bf8650d6311","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"e949717a8ba5e123940729ff47ce1c45989c8b8247c576f1488f698b534e0283","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"018591017f499414a9f79477e1c39baa6a47f71fce6812fb1868fb0fcdfb8cea","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"9860f478c5b2dc3bcf76d2cda7f71922a2a2ef54898cc2ed6ea9b9eff094a5c0","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"2312491343665d2ab36fd669f14766facbf3c7e9820ffb8f0d623830b676f8f0","ci/docker/wasm32-unknown-emscripten/Dockerfile":"bd072d6ae91a9160693e402dd77462d3c9dd0716711e719a62af330ae479eb4e","ci/docker/wasm32-unknown-emscripten/node-wrapper.sh":"0eef37c3c4fb16dbc083148b7e7af45f2ae60bd9a1b3a77e1d43da79efbd30c6","ci/docker/x86_64-linux-android/Dockerfile":"aeeaa540189ca712369c564c9a14cbace63217dadcfaf879a2cb40fbdeb08199","ci/docker/x86_64-rumprun-netbsd/Dockerfile":"e8f9287b267c6058eec42d1bca0007cb9a78a1d244dd8e11088368cb61fb17d6","ci/docker/x86_64-rumprun-netbsd/runtest.rs":"53302e9ed39293c1ec68ab56287593907d4aaf5bac9c1c2857b29f754a71d62b","ci/docker/x86_64-unknown-freebsd/Dockerfile":"ab1f14c65c29f3721c7c091bdec2e865fb1abf45fdcdc867201d087966e396c4","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"ab3fa45765802b8155996796fcad9fb82096360ac587e38e6faa3ec345268796","ci/docker/x86_64-unknown-linux-gnux32/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/x86_64-unknown-linux-musl/Dockerfile":"e145784741473150473b1bef7cc3c2cf0c6339d4fc480113ac41b4247a9b38ec","ci/dox.sh":"d77171a9da467bb01fc702a28fc3b5099f82a485a627f3d5593a9830c3e1a77c","ci/emscripten-entry.sh":"c97bbec520b57af9b1ae264ca991560e99c3852c99b00a2f673c614d1ba17498","ci/emscripten.sh":"6f66c7b5c3d34a41afc59ceb0a8c3b0880cd6fd9a6344b874ae80bac0639ccb2","ci/ios/deploy_and_run_on_ios_simulator.rs":"3175066fd7f82390f6226d881e1a1dda9767ea2705656870e0d7774e2731800e","ci/landing-page-footer.html":"b70b3112c2147f5c967e7481061ef38bc2d79a28dd55a16fb916d9c9426da2c4","ci/landing-page-head.html":"ad69663fac7924f27d0209bc519d55838e86edfc4133713a6fd08caadac1b142","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/run-docker.sh":"be83bc5a8b5ef913a7c9941ffca24734716028650c9a876123c4c160672c18de","ci/run-qemu.sh":"bb859421170871ef23a8940c5e150efec0c01b95e32d2ce2d37b79a45d9d346c","ci/run.sh":"25f8fd0a88d5673bb872dbb7aef8d44ebbf6c863e10352cd79de557ce3e2e252","ci/runtest-android.rs":"a07ddbdd276aedda7876c7e676774178a60d9aeab95df01275a4ee95f59e3044","ci/style.rs":"940c06a676cff1dfc1555b887e46867c6aacc473956cd6aaafaed71824facdb2","ci/test-runner-linux":"cb3713d9e4fa1d9a7c039dfd077af0939921c1f2bf969c9e680ee66e87dc30a4","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"1c2dc787a1b3438970ccd04153c93538719b1a27445707913b90b6f0cdcdde77","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"8f6037887281b828d8541ce8a549dacaed5d29c05fd9cf78b169838476b82741","src/fuchsia/aarch64.rs":"8366ac6f51e494aad9266ccab2b3a95c5ed7aa3a9f77ea672413283440919743","src/fuchsia/mod.rs":"56ee2333b856db94cc1f1f4350885ad2a4ed0e1b4e8792615aa0b257e2941192","src/fuchsia/powerpc64.rs":"390e8db54271a1d5f512d54a21b328091a792378bf9b42b49b6c1a72388da4ec","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"e434d3def305ea28108b59841396ef8949333db9223aa11886ee05cd1c0ce8b0","src/macros.rs":"2e7048e266efdef4298254b7186a27736182c94adb0648aed0c8d735f66a5139","src/redox/mod.rs":"029a9af78211d86fe3108100c33f58d6e73ab09c826b641a9732325dc700d8e8","src/redox/net.rs":"0946ab864a2eeb20a365dc541c060f7a238c75356bb57de39956a486607f7ce1","src/unix/bsd/apple/b32.rs":"41699d2802327b0a4d4aa50cd20b1e366b442176cbedab27ca888ac0446c9156","src/unix/bsd/apple/b64.rs":"4fe7bf5de252dcd712dee0a7a8acfaa7c737c862eaa3ff669255d3f2076c5fa6","src/unix/bsd/apple/mod.rs":"3a423665ca29d73a4a29503f5f58277b7d19cb8df175c5f11666983880ef276f","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"1950bf56a7ecbfc8994e4b54dc94e752d91dccd8f0e2d1e4c2d3ad2fa8cb5e23","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"e762bacf0b96295ae241717210323c7442d199d9863159ee73462954fc855e1d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"d6096edda549bb2af16d083ee86561f5eb6bfa728d3cfac1938f0f84592bde5d","src/unix/bsd/mod.rs":"a1030452eed4ec52a39e9f39040e8fae4309143c7af145efadd9b425caa39672","src/unix/bsd/netbsdlike/mod.rs":"a685c1d23cb17758c3249b9c4ab45a50474e79270891235176b5f796f365380c","src/unix/bsd/netbsdlike/netbsd/mod.rs":"46a28912a4741e500f392131cc71273621de0234c4c28e29d8bf51c015ca7840","src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/netbsd/other/mod.rs":"4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"92459d80b8e5b570c0efe35a1d244d38f23072cd28b6581dfcb313dc9bfc3d51","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"cec53623e2269aea4437554a405452e7d3b09648b7cf6872d257d36ba979e2ec","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"44035aad2907dffb6b18687ac7ddc76b5268af92b4e4f4c87759a00cae4de900","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"7c959cdb3415f68a0f948117b9aa87a17463e57ab97cc3235f2567454b706653","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"ddd834c5c4e5ec7771d0f0071517c2d00095d5595f87a52245380ac762f7f011","src/unix/mod.rs":"47d253eef3bc46dacb0df2951b2136e41c4e758ffd34473b144f6108a90749f9","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"7422845a44de13a2faf15d105670525ed090c6e200c9723178ed735810bbd689","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":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"c83157cf4a74c653b877c4d42b565d4a7d31e46e32015f19fc91447df2489a58","src/unix/notbsd/emscripten.rs":"5beb9bc98b6b317e85f2935db2aad9ef9cb2ab2e881917064fa7adf944568dae","src/unix/notbsd/linux/mips/mips32.rs":"df3268b082962844c94733c58782ecd9386ffe1f5ed8e05a703a6fa1e80b8f7f","src/unix/notbsd/linux/mips/mips64.rs":"88ad72fa125b9a2c0bd98ef03a7f5ceff78a39b0628d0d0f997ac9b6b82fe16b","src/unix/notbsd/linux/mips/mod.rs":"32c3e7cf430575544bbe4a670cbbf2b4dbe1f28b4895feb6f43fa33d6da25e1d","src/unix/notbsd/linux/mod.rs":"d37bd8bd956b7ab3484b2ad3ee7c1848574bbd37027c76ac06f4d7ca2906cf01","src/unix/notbsd/linux/musl/b32/arm.rs":"9d9bff31ab0925a1f62a20945d36a83b94ce3ab78dd202cd468bb31556b21725","src/unix/notbsd/linux/musl/b32/mips.rs":"cb38c463aebfc235f31880db158dd47c6e21f182a092d3f3087d92994b7711da","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/x86.rs":"c02dd333012cf65cb8873fa211eff5e63d466be55451a347510e3d4f50ed515e","src/unix/notbsd/linux/musl/b64/aarch64.rs":"4d79d86d11fbb8cb7a74084e410a1140e3c89dfc1842cdfb213f3a0ca93046df","src/unix/notbsd/linux/musl/b64/mod.rs":"caac00326693b372d6805e4dda239475e7fef36368881f372c006264844fda0d","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"24514e41be4b5f5e0ffbe8a25a99dae8989489b607db59e8bfa345f8e65c9963","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"17c70acf9c6eabeb73916c2abb7d7e8b0310214090faae4a8dc2fd183a9b45ba","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"7d77f1dd8327b1249769496351cf287d0fff3852f87bde2f58afc67e6dc54a4f","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":"ed6ea00e3281ad2f4bab82821f20a2ff5b48401a65618bd6a544bc24ea4e3e39","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"9b5e2321c0114c2740dcb86d9f1f3584c07ded921a157164ae8bb0712d397818","src/unix/notbsd/linux/other/b64/powerpc64.rs":"ca25b5f94a9147a984fcb70cf48a261b30df14e2e8194ac174363b6280e82a29","src/unix/notbsd/linux/other/b64/sparc64.rs":"a84580fe226654e33f8ddd0f1f7f2069c29334fc826a74f81f7892b87cfb9083","src/unix/notbsd/linux/other/b64/x32.rs":"ae7698b217106a6c00465f9d10df24d45ad9b7dfc280b24168f53f42198b7b92","src/unix/notbsd/linux/other/b64/x86_64.rs":"afba464e903d350325a1ca3d9d5af1659efc0ede83a43dbac4dbd60c522e2ad1","src/unix/notbsd/linux/other/mod.rs":"7065a7e83834f38ee2f4e03f28824eb94111c13f10e7a8b76ee7025686a84e7f","src/unix/notbsd/linux/s390x.rs":"259c5533ba7f0b10bb23d01dc0e53301afd236a7bb4339dcef9472c579503729","src/unix/notbsd/mod.rs":"eff4c19451d4d4579d5c483a941a7b259b7b73c3ab13c31fc54a7961e8292b9a","src/unix/solaris/mod.rs":"9c6af198a2f80da827054784faf70bc404673d9568fb45664b4f73c46245fdbd","src/unix/uclibc/mips/mips32.rs":"4dcb19abae37f02f08660bdad500c3230436322b581eba37287c73a742d6fcdc","src/unix/uclibc/mips/mips64.rs":"e67eec1636a998b047d89a4cda1c99cb6bc3071db017762675179a68201c4438","src/unix/uclibc/mips/mod.rs":"3f86061d05a8da7d923310550b7d40c6223f0c907d77edc86b7a78da1d647f76","src/unix/uclibc/mod.rs":"3605127517734b5f5f20be1d37e52184a77ecc6fb6099b88aa744e0aca1b802a","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"69ec3ca821a483cc076e84a794bbecb3e5536af1c1d5b807eaf1db9af11f771d","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows.rs":"e41357d610608bad81abf285306ad8b127b6f02d5132f63c4942861980b47d59"},"package":"b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1"}
\ No newline at end of file
diff --git a/user/rust/0035-rand-5b9e5c39d857.patch b/user/rust/0035-rand-5b9e5c39d857.patch
new file mode 100644
index 000000000..6f9d072f8
--- /dev/null
+++ b/user/rust/0035-rand-5b9e5c39d857.patch
@@ -0,0 +1,25 @@
+From 5b9e5c39d857312fb308493ac8d0b89f73607941 Mon Sep 17 00:00:00 2001
+From: Lion Yang <lion@aosc.io>
+Date: Wed, 15 Aug 2018 16:10:37 +0800
+Subject: [PATCH] os.rs: fix wrong syscall number for PowerPC
+
+__NR_getrandom is 359 on PowerPC, added from torvalds/linux@7d59deb50aa v3.17-rc5.
+The bug was introduced from 05f23d275 3 years ago, affecting from 0.1.1 to before 0.5.0-pre.0.
+It has already been fixed on the 0.5 branch at 00713a61c so this is a backport.
+---
+ src/os.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/vendor/rand-0.4.2/src/os.rs b/src/vendor/rand-0.4.2/src/os.rs
+index 633594ec7d..10022fbcd6 100644
+--- a/src/vendor/rand-0.4.2/src/os.rs
++++ b/src/vendor/rand-0.4.2/src/os.rs
+@@ -102,7 +102,7 @@ mod imp {
+ #[cfg(target_arch = "aarch64")]
+ const NR_GETRANDOM: libc::c_long = 278;
+ #[cfg(target_arch = "powerpc")]
+- const NR_GETRANDOM: libc::c_long = 384;
++ const NR_GETRANDOM: libc::c_long = 359;
+
+ unsafe {
+ syscall(NR_GETRANDOM, buf.as_mut_ptr(), buf.len(), 0)
diff --git a/user/rust/0036-rand-checksums.patch b/user/rust/0036-rand-checksums.patch
new file mode 100644
index 000000000..a998157ce
--- /dev/null
+++ b/user/rust/0036-rand-checksums.patch
@@ -0,0 +1,9 @@
+diff --git a/src/vendor/rand-0.4.2/.cargo-checksum.json.orig b/src/vendor/rand-0.4.2/.cargo-checksum.json
+index 67115b1a..77781e37 100644
+--- a/src/vendor/rand-0.4.2/.cargo-checksum.json.orig
++++ b/src/vendor/rand-0.4.2/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"f9b1ca6ae27d1c18215265024629a8960c31379f206d9ed20f64e0b2dcf79805",".travis.yml":"12868a81c3590d8f2c08d53ca51e6b4b9be39d854f81bd4a57f82466cbe8d79a","CHANGELOG.md":"03974fa236c7ac7a29931ef548d05ba1d8e00b1202961310f6d837aca9bc377a","Cargo.toml":"09b6978ce09c8df87e5fe605d1ff5ea920747da588523df8f2f5d1ca3292db80","Cargo.toml.orig":"02e9cb4d497d9ffbcb3cc0a227a9c7497e905a7d889a175b048aa03f8600cb16","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"f15d6584b8f417cc743ebcad6b69776874a6ac30807d0ce0ed28f3779be1f151","appveyor.yml":"8796156caf7041ef2a43f7a313df21ea639de3f2563b6181bba1096b1c489f1b","benches/bench.rs":"35c4ab609f2a5f5aab6c52c257415258dc0780621b492b5a82bb12d048cab6db","benches/distributions/exponential.rs":"99cb59c013a0b6bb390d34c5649b341fc3b88ea7df0caf2470bdda8798f9fe3d","benches/distributions/gamma.rs":"3533f311e4b55d743c5b01a7eb6529c94fd97726ef6702a6372f914f5f33666b","benches/distributions/mod.rs":"0028f1cb96f61152ed5b49a4fe91227d809ef6d19035592c36032a538af7f95e","benches/distributions/normal.rs":"4e10c18cb583ccb96301ea953c8e0aa9ee3b6662060271d1b8d19ca23364dc6b","benches/generators.rs":"aaa2f1dbfb399df8323d8a5796b92add6210cd5f0f1d916895ffdd81d60f812b","benches/misc.rs":"bd2f7c5a16f0fcb59022d5aeef66ed3c94e89ebf6c06667851dd23d0b1595504","src/distributions/exponential.rs":"103c8412c8a581b71835f1c00e40f6370e7702adf9d499243933a793d132d4e7","src/distributions/gamma.rs":"7a3f85c8daad4e56e334586ddb9fc9d83df3b0699738ed681a6c41e4ed455be9","src/distributions/mod.rs":"7943c4f83721bac816f831cca3b1574b6136932f7b4927aa6101130080ba62c5","src/distributions/normal.rs":"1562b43f80e4d5f83a8deb5af18de5a18dfeeeeda11fefc577da26672b14c949","src/distributions/range.rs":"a72a538d3ec4ed23f8d632aa55fd4793c464f24a5872d04ce8095ddd5db92115","src/distributions/ziggurat_tables.rs":"4eacf94fc352c91c455a6623de6a721e53842e1690f13a5662b6a79c7fbb73de","src/jitter.rs":"befd4b84bf753c107370b5b9498ad49611c220bdae2e4be9ee4398e9fa497042","src/lib.rs":"c86b28064c2c5abd02694e8bf97c84513b21fefe04e4305f9a78d5e864ef3e3f","src/os.rs":"38c2f26c2784c61ae9a17a7a9c59fcf449dada826a66f66b7f46b0992ef001de","src/prng/chacha.rs":"558007276f9c22933d39e5b8e853f4dd9533e823ed66df8dc1f23ad6925b1d51","src/prng/isaac.rs":"a8a2ee8b38d312663308e3bdf03376e342fd91330655f39144e5bba7392b2a8e","src/prng/isaac64.rs":"f28f7596ccab910db265b42671116abb9d2039fa8a421cbc75312bd0e7715d3a","src/prng/mod.rs":"c1a73450f49e819a20942a5b591f84a08ebb5ac33aa0f65b18ac1dc9a19a3084","src/prng/xorshift.rs":"606c308747293652c868b46dc3cad847d0c3717629c04ba75681c887c7634114","src/rand_impls.rs":"e1f27077fc13d5855bb66235f8ccfb216e116337eb38424d9c30c090e112215c","src/read.rs":"bd0eb508a6b659dc578d546fc2f231484aed80c73cfe8c475e0d65c8d699a769","src/reseeding.rs":"a97b86387b87ea1adc5262ddea480fe735c9c2a86762abaace29119022ac9f6e","src/seq.rs":"76dd58af0f580aed2721c393a5c036322186dc7cb3b4abed33436620c7c49288","utils/ziggurat_tables.py":"a9fc0a2fdae9b5c798c238788f94b720c156e13fd96f2356c409aa533191eb94"},"package":"eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5"}
+\ No newline at end of file
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"f9b1ca6ae27d1c18215265024629a8960c31379f206d9ed20f64e0b2dcf79805",".travis.yml":"12868a81c3590d8f2c08d53ca51e6b4b9be39d854f81bd4a57f82466cbe8d79a","CHANGELOG.md":"03974fa236c7ac7a29931ef548d05ba1d8e00b1202961310f6d837aca9bc377a","Cargo.toml":"09b6978ce09c8df87e5fe605d1ff5ea920747da588523df8f2f5d1ca3292db80","Cargo.toml.orig":"02e9cb4d497d9ffbcb3cc0a227a9c7497e905a7d889a175b048aa03f8600cb16","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"f15d6584b8f417cc743ebcad6b69776874a6ac30807d0ce0ed28f3779be1f151","appveyor.yml":"8796156caf7041ef2a43f7a313df21ea639de3f2563b6181bba1096b1c489f1b","benches/bench.rs":"35c4ab609f2a5f5aab6c52c257415258dc0780621b492b5a82bb12d048cab6db","benches/distributions/exponential.rs":"99cb59c013a0b6bb390d34c5649b341fc3b88ea7df0caf2470bdda8798f9fe3d","benches/distributions/gamma.rs":"3533f311e4b55d743c5b01a7eb6529c94fd97726ef6702a6372f914f5f33666b","benches/distributions/mod.rs":"0028f1cb96f61152ed5b49a4fe91227d809ef6d19035592c36032a538af7f95e","benches/distributions/normal.rs":"4e10c18cb583ccb96301ea953c8e0aa9ee3b6662060271d1b8d19ca23364dc6b","benches/generators.rs":"aaa2f1dbfb399df8323d8a5796b92add6210cd5f0f1d916895ffdd81d60f812b","benches/misc.rs":"bd2f7c5a16f0fcb59022d5aeef66ed3c94e89ebf6c06667851dd23d0b1595504","src/distributions/exponential.rs":"103c8412c8a581b71835f1c00e40f6370e7702adf9d499243933a793d132d4e7","src/distributions/gamma.rs":"7a3f85c8daad4e56e334586ddb9fc9d83df3b0699738ed681a6c41e4ed455be9","src/distributions/mod.rs":"7943c4f83721bac816f831cca3b1574b6136932f7b4927aa6101130080ba62c5","src/distributions/normal.rs":"1562b43f80e4d5f83a8deb5af18de5a18dfeeeeda11fefc577da26672b14c949","src/distributions/range.rs":"a72a538d3ec4ed23f8d632aa55fd4793c464f24a5872d04ce8095ddd5db92115","src/distributions/ziggurat_tables.rs":"4eacf94fc352c91c455a6623de6a721e53842e1690f13a5662b6a79c7fbb73de","src/jitter.rs":"befd4b84bf753c107370b5b9498ad49611c220bdae2e4be9ee4398e9fa497042","src/lib.rs":"c86b28064c2c5abd02694e8bf97c84513b21fefe04e4305f9a78d5e864ef3e3f","src/os.rs":"4860f165f68b7c978b0488c75d264cd9aaf54e7e4484036736ee5c4f5b6bd78d","src/prng/chacha.rs":"558007276f9c22933d39e5b8e853f4dd9533e823ed66df8dc1f23ad6925b1d51","src/prng/isaac.rs":"a8a2ee8b38d312663308e3bdf03376e342fd91330655f39144e5bba7392b2a8e","src/prng/isaac64.rs":"f28f7596ccab910db265b42671116abb9d2039fa8a421cbc75312bd0e7715d3a","src/prng/mod.rs":"c1a73450f49e819a20942a5b591f84a08ebb5ac33aa0f65b18ac1dc9a19a3084","src/prng/xorshift.rs":"606c308747293652c868b46dc3cad847d0c3717629c04ba75681c887c7634114","src/rand_impls.rs":"e1f27077fc13d5855bb66235f8ccfb216e116337eb38424d9c30c090e112215c","src/read.rs":"bd0eb508a6b659dc578d546fc2f231484aed80c73cfe8c475e0d65c8d699a769","src/reseeding.rs":"a97b86387b87ea1adc5262ddea480fe735c9c2a86762abaace29119022ac9f6e","src/seq.rs":"76dd58af0f580aed2721c393a5c036322186dc7cb3b4abed33436620c7c49288","utils/ziggurat_tables.py":"a9fc0a2fdae9b5c798c238788f94b720c156e13fd96f2356c409aa533191eb94"},"package":"eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5"}
+\ No newline at end of file
diff --git a/user/rust/0034-rls-atomics.patch b/user/rust/0040-rls-atomics.patch
index 61811ef4d..61811ef4d 100644
--- a/user/rust/0034-rls-atomics.patch
+++ b/user/rust/0040-rls-atomics.patch
diff --git a/user/rust/APKBUILD b/user/rust/APKBUILD
index 6b0111f26..1a1d55468 100644
--- a/user/rust/APKBUILD
+++ b/user/rust/APKBUILD
@@ -3,9 +3,9 @@
# Contributor: Jeizsm <jeizsm@gmail.com>
# Maintainer: Samuel Holland <samuel@sholland.org>
pkgname=rust
-pkgver=1.29.0
+pkgver=1.29.1
_bootcargover=0.30.0
-_bootver=1.29.0
+_bootver=1.29.1
_llvmver=6
pkgrel=0
pkgdesc="The Rust Programming Language"
@@ -55,26 +55,30 @@ source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz
0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch
0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch
0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
- 0012-Add-powerpc-unknown-linux-musl-target.patch
- 0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch
- 0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch
- 0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
- 0018-Add-powerpc64-unknown-linux-musl-target.patch
- 0019-run-pass-const-endianness-negate-before-to_le.patch
- 0020-Fix-double_check-tests-on-big-endian-targets.patch
- 0021-x.py-Use-python3-instead-of-python.patch
- 0022-test-debuginfo-Update-for-GDB-output-format-changes.patch
- 0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch
- 0024-Ignore-broken-and-non-applicable-tests.patch
- 0025-Move-debugger-scripts-to-usr-share-rust.patch
- 0026-Add-foxkit-target-specs.patch
- 0027-Add-foxkit-target-specs-for-OpenSSL.patch
- 0028-Link-stage-2-tools-dynamically-to-libstd.patch
+ 0015-flock-Fix-F_SETLK-F_SETLKW-on-32-bit-O_LARGEFILE.patch
+ 0016-Add-powerpc-unknown-linux-musl-target.patch
+ 0017-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
+ 0018-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
+ 0019-Add-powerpc64-unknown-linux-musl-target.patch
+ 0020-run-pass-const-endianness-negate-before-to_le.patch
+ 0021-Fix-double_check-tests-on-big-endian-targets.patch
+ 0022-x.py-Use-python3-instead-of-python.patch
+ 0023-test-target-feature-gate-Only-run-on-relevant-target.patch
+ 0024-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+ 0025-Ignore-broken-and-non-applicable-tests.patch
+ 0026-Link-stage-2-tools-dynamically-to-libstd.patch
+ 0027-Move-debugger-scripts-to-usr-share-rust.patch
+ 0028-Add-foxkit-target-specs.patch
+ 0029-Work-around-libbacktrace-built-with-fstack-protector.patch
0030-liblibc-linkage.patch
- 0031-liblibc-dcff154781e4.patch
- 0032-liblibc-90c01fa6b0f4.patch
- 0033-liblibc-checksums.patch
- 0034-rls-atomics.patch
+ 0031-liblibc-0163a7ce20b5.patch
+ 0032-libc-dcff154781e4.patch
+ 0033-libc-90c01fa6b0f4.patch
+ 0034-libc-0163a7ce20b5.patch
+ 0035-libc-checksums.patch
+ 0035-rand-5b9e5c39d857.patch
+ 0036-rand-checksums.patch
+ 0040-rls-atomics.patch
"
builddir="$srcdir/rustc-$pkgver-src"
_rlibdir="/usr/lib/rustlib/$CTARGET/lib"
@@ -148,7 +152,6 @@ check() {
src/test/codegen-units \
src/test/compile-fail \
src/test/compile-fail-fulldeps \
- src/test/debuginfo \
src/test/incremental \
src/test/incremental-fulldeps \
src/test/mir-opt \
@@ -307,38 +310,42 @@ _mv() {
mkdir -p "$dest"
mv "$@"
}
-sha512sums="87f416c76db2967c0ce2b39ee2d2c2fcad875bbe13cfa507f5483e170827c131f3af4400c11785ed836143b2732aaf32bc0291fcd93bbfb96b266a198c926a5b rustc-1.29.0-src.tar.xz
-1e67f3b28ca5d6e8ed06df36145abcfeecedb8c8b5370023e7de4a19b850b690efefdd583b42fc484c1167a5c301f6779745c12efb065475acf956d9934cb02b cargo-0.30.0-powerpc64-foxkit-linux-musl.tar.xz
-92f250086aa8cc1528359fbf9e9413bc86857acb6e9f0bb3a045a3a1770dd3a4eda5b499c1cd1946bb9f0937d402b73bf46c7e1de8d419efdd0ffbc278239a81 rust-std-1.29.0-powerpc64-foxkit-linux-musl.tar.xz
-1fedd316a05f16947e8288f194cf55b9d9e29667096a50b4f2ecd9c2031e00fbf9a8c14c01968bb047e3f3aac18a036606092749de467b152169eb218360ecbe rustc-1.29.0-powerpc64-foxkit-linux-musl.tar.xz
-23540d67f2774f007ffea65e3475b0003193a28503f302dbbf7fa741c0e53dd14d110a3eb88374c2fc1a29b7c8add4c41300fe1c187b2d2ead8e35740cabaaa8 0001-Require-static-native-libraries-when-linking-static-.patch
-3e10a597f35470b31da178dad3af956d395f4245470f7c2821a78f1e7411acd8758c13c686a342eb362850a736b2887293203847e38c89f40a61498282d29c69 0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch
-d6b293f13dccbe5bdbcc13c2b18e610c271ab49acc0eb5658489388b371431a522f454308af20d2fdb8c68ce99203cfa8455b7c36cc47c8d1f5722b739c3b3fc 0003-Fix-LLVM-build.patch
-38f5380a3e7c8454de62ed75e807ad034f1ef3521a88706d3a24d4de09140147ff298c8e36de14d21f0b458d8c1bf82dd8e3924c7dcef0a16d8cd07ff49f06ea 0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
-660283864cbd7a98246c3a6d5634b99032c90fcd98eab6f2477786ab49078505f59f2a88f2b87729850e0b07bef18dd5b93c458e947ae876aac3dca3742dff73 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
-75a7d5f67e315ef69f6c5114b80523858b528c6ef80ec10fba7d1f1afce97e6053670a8a7473c6948931d2f013e77646b7b30635f12f5b5f6dd12a29f6f4925e 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
-7256275df428ea13028731e91dccbba90f7e9f2a611ce9265447831cc60a9284b8d78573da50143b2e7fe4f3f6dc360eddf0be94a01de4b8745d7930144b2365 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
-45c7342c9b901f3d96e293e189773b22e0c7f240e79ffd661e4010f798a6d622304ad16fab22ebb81e92e473c98f93f39505e79dbfb341ec7e29efbcd366594b 0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
-d48b2653265de8e331afe8fb8ec48b3170845d95eb54ea1fad77cc8ac617cab193b3e797c2753794addcb3f3edb5de99ebdd6de1ad31613a08485b4ad9a8878f 0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch
-abbefe8cbdb1b0cefe9cecfe5b5fad88b868d838617bf1fc1e0da782844ca9f28fb5edd8052115e9667ff21eca90e768caea1ce6c8bf23981162e1da93a70c59 0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch
-e9c4c6d9029029abc806da48ba85fb3ce5ca2aa0dd748012f8cd89620b3a5646b06a3295b1d001c3e651ffebf7a23d16d074c7a146cc585b9347f16b2c147743 0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
-cf5cb5827a836f2fc155ba5f9caf24d2811e143fa178d64c2cd2c6cd0ba8c121dacd657be7a631f1d2532f3bd6f244c371361afddf65f057acf15f0de1d4b8bd 0012-Add-powerpc-unknown-linux-musl-target.patch
-9e47df4cd5f9590e526be1617efa6c96b80cc9220f819a0b86a6b48a229786b860fff4c2dc5451f7098aa5f250e35285d65cfa0012c15110eab612d585a1f6d7 0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch
-36f07adaef870b90590a7513b1bde0f37793bbd6b773b41bf0cf2b791add51c0c8e22a55b5f8266a04e82f8c60f8a89eb0597cdb23b6f595e787a6a57cd869c0 0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch
-63fb44a61ee59e916bbaf78dc95cdb73a77671671db10280e8a8fde08324604f1b2560a648f25b088558c3fd198f855a8056dcb14997c0747f05957c51643aba 0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
-bd16a8c9d79c495677d1d59a5a806a46d807447ef9be85b20fb2d8150775f24a233d00dea4c5a3b505054b299982fe00d64d1a9a9da26c320e804a8f3840e48b 0018-Add-powerpc64-unknown-linux-musl-target.patch
-41f272bc925d2800fde0f663d300572ab27d4de275b4802de7adb89c2d6582b1aec3cd456ae2c0d115f1104f9de97489da86df101eefbaead374c5d5b20c95d8 0019-run-pass-const-endianness-negate-before-to_le.patch
-e146e9205f22f10fcdd6b8b77ee76a7b2cab0f38368a793cdd15a2dd5b1432c7e9d0ea9ae5cda55ff91edfbea20941fe49836707bb238c84b74ec0330490b4c8 0020-Fix-double_check-tests-on-big-endian-targets.patch
-ed4f07e005a9ee7b117c48961c0285cb5a8f1bf5c1480343d617630af56837fb177cf8e5f564b0795ed063ede485d8478a44c7c257511aaa05d4abf4c316d898 0021-x.py-Use-python3-instead-of-python.patch
-12e6f6dbeefaeee6190a8ed25336836bec23d92778a2b01921f1191e4ac9fb8259b7b99d6bebe52b9e390eb3b4dca40c61e9498cdc222d5019843ef31b82146e 0022-test-debuginfo-Update-for-GDB-output-format-changes.patch
-d9b2234fdc3e2fac9462f0be8ce8988d50573d1149c496ef7b439596303a34e540824a5a6ab23cb15be1a6c1d15d857662d6dae740abd77084375b276b84f4dd 0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch
-7cff0eb0f947e009326cbd96dae0d74d1f5fb9fbd1cd62544aa5b52c44fdc8f40094856d44dc5b4d55fd2c35308f37fa64656d614ae16d42d71e59a7a8cdb531 0024-Ignore-broken-and-non-applicable-tests.patch
-de5c3b3ca532328957b550cf02cbdc851bacd7740bbdd4512e03d2eb4d916034d2bd026710f2f734d7a31ca67eda3f34e2577a0cd39a4901d0808a1815095064 0025-Move-debugger-scripts-to-usr-share-rust.patch
-6a1c997e5e280b9575857d5dca5cff22ea17fc878389bb0d852139bb113fe64082dfd1298958a78e10d4a8faf58358bc8c221516e248c929c399d327559ef030 0026-Add-foxkit-target-specs.patch
-6b1723c2e4672e394374419fcc136a851078b4a4c538c7c1d86847e6915c5fb3ddc1f81971ded1a73a3090766d103c3cc79c60b8e39999947be625e0e17e1249 0027-Add-foxkit-target-specs-for-OpenSSL.patch
-74618287fe0bdcbedb23b2343e88885496d346c68a6b76109f613c5a13f7e09623ece11cb9c784f1ae6779005c9ec4def0351810718afd80285d1912c0040c9a 0028-Link-stage-2-tools-dynamically-to-libstd.patch
+sha512sums="1ded651b4c460e11e5e44c26de88a80fb13c2000097de2ee1e5af89638e12a7e8f43dd756689d4cc4fad45c52d4d43a3c70dd6a3ae550735b9dad5f8defea6a7 rustc-1.29.1-src.tar.xz
+bd1fd3694947fc192419dab1e1e314fb5a9d7266715b5765dd1766507a234b6ad93bd097f531d560adc8b9f71534f53c440e6986e63b322319fcd0c24325d979 cargo-0.30.0-powerpc64-foxkit-linux-musl.tar.xz
+d6ce24de73131702b623e8a146435526457b6d766fe6192df7471f1942119a6396b85121ce2250da3c3ec21b44aaff316e5c0387796654129d074d29d60a25b2 rust-std-1.29.1-powerpc64-foxkit-linux-musl.tar.xz
+b649fc30dee7510f656c53f3a5737a66d59726e24be7085134504f0202a899e549274df417c814487e5fbd8bbb69470411c9ed770dbc37af15a99a63f913a508 rustc-1.29.1-powerpc64-foxkit-linux-musl.tar.xz
+a242a6cdc95ecfa402e1457bc9e3b98305b8a5bcb5f54904807382cc98720e2a8fd16cee311edba84eb64129c591a58ed1f70798269832ccf19f1af79efe8b70 0001-Require-static-native-libraries-when-linking-static-.patch
+2b2dc29d31351e21e10808a0223b8b43d3804f0fbef6a97d6016958bb982850d0a63b73f1133ca4e70ad5c5901a3357c279e40a5c60379eb8ac070a9fb78a203 0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+6f291642e2ce0cbe57e5354d4eff2745b651b3308771fd122edcb75ff7b809a34ee98c5ab2b64699b60e6be1007a383b29e0f991a9539f85a4c6c19e239c7654 0003-Fix-LLVM-build.patch
+4f1a716e22126d65f4b32be6210293a32e54c3b4c8655097962e2d0d44c1b976cb923fc99dbf8d6487541518e9c8ed73d3d2efb6da3b881513d8243808de7adf 0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+7ff0c4cfc040f47b9dcf28d64bbcdf45d674bbd3a05e7d3646474044e0713d80d878d8cc39dd5029cd6f7c2c6d53c08ea445eacf147ccf14de1d729bf6a83734 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+f1b9d68d4685db660b6c09cfa5ce0f818a3146e458973b942ac7991cfdd849976da7bc4e7245b9aa0ace498b51c9dbe9def3f2ffc277f52d2883f8b8fd0c47ef 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+14cd3ff8d3e1d41014008ec8da958b72383c5fab6066d4dd21f4c02043fbea9ef159a1a76b718ec54c135fe971c7269d88b9703692706d23ed409022b0e57221 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
+e7de9eec874e08d3aaaa1389ed827ccb201659f792d4b64bf430a1b972b1d1f793fb14131d60df92d84af35da01eee4d59f6b8f631acfef95284688cde45fe04 0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
+8c2cbe4c0a99c38e4c7f05b30d396acfbe0511c06b433a468c35477cda73e77a4a0d61f809465d29e92bf3960dc25d5d860d28c79be42ac25f336aea40a24881 0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch
+38085c8f79a3fda0f31cc733044c50fdfb1bff82da4f4cb40f280bf0924c53cfb1fab31a8345e40ae2960f1c1b495570d8219c9c9958db4da184f7120e07a4ad 0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch
+93faeccf86b7920d48aba11e3345459e828a47a2b709ac65bc1ed71ef928ae18539040390f394c58fadbe0f44459248018c3cf0b0ac64aedd0f27a5ae866d69e 0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
+c2208400ee5a9f0f7b7897effe536f5937e05c0c4214f5974194ef8c41fc3013ca5224594add1b9fb83f50c9372bd659b7a34442fc3462d43fe8fe6dbdceb1ad 0015-flock-Fix-F_SETLK-F_SETLKW-on-32-bit-O_LARGEFILE.patch
+157b6e658ad39d01a7bcee16de5a7b4cb0c8a95a55ace9ca24ac499dee343db7de5d7455443f868cd02f612ef9f6787001ee8e53d8b046304d451507e25ca7ce 0016-Add-powerpc-unknown-linux-musl-target.patch
+2f353c5e29e00f9e8f28b6c9010b204138a6913565674afd40ab79f2b434ed8af8296d2fe92459c103eb6262579466c44be2280e5ec46e129855fcb06f314e32 0017-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
+c63ce49e7041991e78921d4b6f36e037fbcf478eb30a8590fbb0349bc55ead4639ebf95f8d90d7d572244dbf14f74471c192cc2c7dd020fb8f274e885f130c29 0018-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
+96d6473a9a1aed1df0911da4583ff8377ecf9cea920aaeafdbf4f4db652027e2937e1108eb21aafc044c0b45a6cd1f152393c5fa527cdabd4ce4e70f69fe15c6 0019-Add-powerpc64-unknown-linux-musl-target.patch
+133f2b57e351dd6a75ac3abe3d980c3e1e40af4cdfe7fc4a05ed3e45029ae69ab979db7edb2b890742c107120f436404fc720e20df52fd9d5ff14d22a7d82aa4 0020-run-pass-const-endianness-negate-before-to_le.patch
+652420d7bdc9be4e6136577e375e9b43f7c4086b3f0c1b4739c7eb6303c7826df84f40da7811618f296edcf712357e4b046e477b748605d066ab6d8015c6a619 0021-Fix-double_check-tests-on-big-endian-targets.patch
+7eb0c8eb095ca0201b26444b275005a89921731e87fb7a82d3d46215f14acc8b987134288955fc90f9d419ebe0cb26e09589906aa954bcbe229e25b737c64c7d 0022-x.py-Use-python3-instead-of-python.patch
+231d37dcd04787300a38122f1482b616970e070a4a87349aeaf5ec9f7d15563feeaa88be9cfc0863640b22596f5c2e2acfe7f9b22e43e6f1ee90f3b4730e746b 0023-test-target-feature-gate-Only-run-on-relevant-target.patch
+b6c34f9982d6f5b59acc716391a63f922accf69bdcf2631ab57ce3279a62e1874bceb7d0707fdd5290a17ec88e948d803c567476f904f96b7e5d7a240a4ee53c 0024-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+cf8d642afcfd27fbc8c982a27d7d09f6097f1d0bfb67251d3a51323bd86743f584ebbd1cb4a8e872bd7711610929aa4bd514a107956fb89dd14f6dc50e9bdd26 0025-Ignore-broken-and-non-applicable-tests.patch
+9b9f4625d0a56417fa72d58982e55449b8fb5ed103799327a9017976ddd8ec431e81f592d3f843927068bd0e68e8e5a589650f18fb37bd275100f17bb65a1560 0026-Link-stage-2-tools-dynamically-to-libstd.patch
+35fc80eb99d818f8d4c67a5dc72c1acc56a26b529b5a24cad7aa0d5ea4e872384c4eb07084caa3436140cdf377ed0bbcb920e40473a65f2ff90e3ddc1e20e390 0027-Move-debugger-scripts-to-usr-share-rust.patch
+ab300269ab18f3d8e82586d0ff1a8f2713027aa675844450cd1dc30f9fd8daf268caa4e61744c927044dd7d62638b9153e123ed6eb242f0ccab892306e1991a8 0028-Add-foxkit-target-specs.patch
+542a3aa430eea4142428293e7a9f4077210a319bb7bd91a4f051222277862bc4a8eba1c013ec6d7dddbc848e1b903cc8c4082d1aad623ec85674de14ba95a2ca 0029-Work-around-libbacktrace-built-with-fstack-protector.patch
f94abe390798b968bccfba1c908ab5895220ed0d167314b790a9c28b10cac81fb2e3b08760b4e8551ad5a5d02cd052d3d0d647ad8f8634e97f4d3b0470a21c42 0030-liblibc-linkage.patch
-48a2ea6beb5f333d646fcc7aa15405d24f52f48e82b8f9cd09737dbfef16df0679246b30a28871595d13414b44c316122e0c969e1ae555b7ab18b692057c0d67 0031-liblibc-dcff154781e4.patch
-fcfdd6b2702b8b23d8fd339ceb23b75a6e9814a388f00d226c8101be46a0f29835c77b75ab665e36972fde14364d762816ea2dcf3c1d90dd1e574fb8f6c33c80 0032-liblibc-90c01fa6b0f4.patch
-1e1e1f485abd8e3e283aa69b3b5c6f11901d0cc14527834a6490ed70c043512aa207ff4f9ef4bbdef884697120fab59d23ec1faf3b02b3d3d77a060789275cd4 0033-liblibc-checksums.patch
-9182408b7a87fc2f01dc12a36440e43a721f7693da00310806f6306e711c04b34d43b6ab348ae523656937f61389adb6a5a2b8ff46dec5424ad20c29652d4edf 0034-rls-atomics.patch"
+9b761388e3e7d4ac7ced81bf2572439724f4ce3190b49429b92249f4b858cc9bbb79d72e25365825cbd25cb9b3352c627dcc88cc643e5abeb917cf14755cab0b 0031-liblibc-0163a7ce20b5.patch
+48a2ea6beb5f333d646fcc7aa15405d24f52f48e82b8f9cd09737dbfef16df0679246b30a28871595d13414b44c316122e0c969e1ae555b7ab18b692057c0d67 0032-libc-dcff154781e4.patch
+fcfdd6b2702b8b23d8fd339ceb23b75a6e9814a388f00d226c8101be46a0f29835c77b75ab665e36972fde14364d762816ea2dcf3c1d90dd1e574fb8f6c33c80 0033-libc-90c01fa6b0f4.patch
+7773b0c20aee126f90960c29b575f0c3c949d877e6b0e682c34ba8cdf6055a57697d6d6c287eafdf5976125830d5898128c73ac7dc8b4c40347577afcdb086d5 0034-libc-0163a7ce20b5.patch
+6c5d68874bb82de214ff0488bd0ff7c1215c48575618d4d37d307004d462b4010df0d4909dd73da7f024c9ea00f5e2680a733235b6b85abdbd352cf1e13a6681 0035-libc-checksums.patch
+94ee746f50ba3d88e409cd6b840a0995fa40d38e6a3c4a7e9fa32430242c492f35f6fb95ee22e0da6dba84f39dc83f0196a0921c5ec2bc602ea220b017c78be2 0035-rand-5b9e5c39d857.patch
+5e409a7e45afd2104e1bbbcedb0cc2a04b2c3838d820bb3dc6e879a3d4619f0cce562d2bf2b0c55b780375bf26f0d4d4d6b0acdac199e1c39b2d94543d35e017 0036-rand-checksums.patch
+9182408b7a87fc2f01dc12a36440e43a721f7693da00310806f6306e711c04b34d43b6ab348ae523656937f61389adb6a5a2b8ff46dec5424ad20c29652d4edf 0040-rls-atomics.patch"