diff options
Diffstat (limited to 'user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch')
-rw-r--r-- | user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch b/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch deleted file mode 100644 index c6da310da..000000000 --- a/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 44c55a243178d34d5a21e08abc38d103e6ddb0c8 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Wed, 8 Aug 2018 22:06:18 -0500 -Subject: [PATCH 09/23] Use the ELFv2 ABI on powerpc64 musl - ---- - src/librustc_target/abi/call/powerpc64.rs | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs -index 934d2b1138..18d14495e2 100644 ---- a/src/librustc_target/abi/call/powerpc64.rs -+++ b/src/librustc_target/abi/call/powerpc64.rs -@@ -14,11 +14,12 @@ - - use abi::call::{FnType, ArgType, Reg, RegKind, Uniform}; - use abi::{Align, Endian, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods}; -+use spec::HasTargetSpec; - - #[derive(Debug, Clone, Copy, PartialEq)] - enum ABI { - ELFv1, // original ABI used for powerpc64 (big-endian) -- ELFv2, // newer ABI used for powerpc64le -+ ELFv2, // newer ABI used for powerpc64le and musl (both endians) - } - use self::ABI::*; - -@@ -131,11 +132,15 @@ fn classify_arg_ty<'a, Ty, C>(cx: C, arg: &mut ArgType<'a, Ty>, abi: ABI) - - pub fn compute_abi_info<'a, Ty, C>(cx: C, fty: &mut FnType<'a, Ty>) - where Ty: TyLayoutMethods<'a, C> + Copy, -- C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout -+ C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout + HasTargetSpec - { -- let abi = match cx.data_layout().endian { -- Endian::Big => ELFv1, -- Endian::Little => ELFv2, -+ let abi = if cx.target_spec().target_env == "musl" { -+ ELFv2 -+ } else { -+ match cx.data_layout().endian { -+ Endian::Big => ELFv1, -+ Endian::Little => ELFv2 -+ } - }; - - if !fty.ret.is_ignore() { --- -2.19.2 - |