diff options
author | Rasmus Thomsen <oss@cogitri.dev> | 2019-07-06 10:47:07 +0200 |
---|---|---|
committer | Leo <thinkabit.ukim@gmail.com> | 2019-07-07 17:29:18 -0300 |
commit | 6af1d328969dfa4d67c7bfc483e2c7c344234045 (patch) | |
tree | 0037ff3a3bff71f1bca9854aeecad47567147711 /community/rust/alpine-target.patch | |
parent | 4a0700ff403b63d8eb3257ebdf33ca51eed294de (diff) | |
download | aports-6af1d328969dfa4d67c7bfc483e2c7c344234045.tar.bz2 aports-6af1d328969dfa4d67c7bfc483e2c7c344234045.tar.xz |
community/rust: upgrade to 1.36.0
* Update alpine-target.patch to fix the triplet on armhf and add the armv7 and ppc64le
triplets. This should have been done in 69851bdae1177246337f51a35734e93f1fd7e3d3,
but has been forgotten.
* Remove the following patches:
* llvm-with-ffi.patch -> only required when statically linking LLVM
* bootstrap-tool-respect-tool-config.patch -> plain outdated, not required anymore
Diffstat (limited to 'community/rust/alpine-target.patch')
-rw-r--r-- | community/rust/alpine-target.patch | 85 |
1 files changed, 78 insertions, 7 deletions
diff --git a/community/rust/alpine-target.patch b/community/rust/alpine-target.patch index baffdede76..6b8f9da678 100644 --- a/community/rust/alpine-target.patch +++ b/community/rust/alpine-target.patch @@ -1,4 +1,4 @@ -From: Shiz <hi@shiz.me> +From: Shiz <hi@shiz.me>, updated by Rasmus Thomsen <oss@cogitri.dev> on 6th of July 2019 Date: Thu, 20 Aug 2017 01:52:36 +0200 Last-Updated: Sat, 28 Oct 2017 20:23:00 +0200 Subject: [PATCH] Add Alpine targets @@ -7,16 +7,18 @@ This adds `$arch-alpine-linux-musl` targets to Rust to encode our toolchain and distribution-specific quirks instead of polluting the main musl target of `$arch-unknown-linux-musl`. ---- a/src/librustc_target/spec/mod.rs.orig 2019-05-23 21:05:45.173347119 +0200 -+++ b/src/librustc_target/spec/mod.rs 2019-05-23 21:06:39.006681699 +0200 -@@ -328,6 +328,10 @@ +--- a/src/librustc_target/spec/mod.rs.orig 2019-05-23 21:05:45.173347119 +0200 ++++ b/src/librustc_target/spec/mod.rs 2019-05-23 21:06:39.006681699 +0200 +@@ -328,6 +328,12 @@ macro_rules! supported_targets { } supported_targets! { + ("i586-alpine-linux-musl", i586_alpine_linux_musl), + ("x86_64-alpine-linux-musl", x86_64_alpine_linux_musl), + ("aarch64-alpine-linux-musl", aarch64_alpine_linux_musl), -+ ("arm-alpine-linux-musleabihf", arm_alpine_linux_musleabihf), ++ ("armv6-alpine-linux-musleabihf", armv6_alpine_linux_musleabihf), ++ ("armv7-alpine-linux-musleabihf", armv7_alpine_linux_musleabihf), ++ ("powerpc64le-alpine-linux-musl", powerpc64le_alpine_linux_musl), ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu), ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32), ("i686-unknown-linux-gnu", i686_unknown_linux_gnu), @@ -136,8 +138,8 @@ and distribution-specific quirks instead of polluting the main musl target of + }) +} --- /dev/null -+++ b/src/librustc_target/spec/arm_alpine_linux_musleabihf.rs -@@ -0,0 +1,40 @@ ++++ b/src/librustc_target/spec/armv6_alpine_linux_musleabihf.rs +@@ -0,0 +1,41 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. @@ -174,6 +176,75 @@ and distribution-specific quirks instead of polluting the main musl target of + linker_flavor: LinkerFlavor::Gcc, + options: TargetOptions { + abi_blacklist: super::arm_base::abi_blacklist(), ++ target_mcount: "\u{1}mcount".to_string(), ++ .. base ++ }, ++ }) ++} +--- /dev/null ++++ b/src/librustc_target/spec/armv7_alpine_linux_musleabihf.rs +@@ -0,0 +1,34 @@ ++use crate::spec::{LinkerFlavor, Target, TargetOptions, TargetResult}; ++ ++// This target is for musl Linux on ARMv7 without thumb-mode or NEON. ++ ++pub fn target() -> TargetResult { ++ let mut base = super::linux_musl_base::opts(); ++ base.crt_static_default = false; ++ base.static_position_independent_executables = true; ++ base.need_rpath = true; ++ ++ Ok(Target { ++ llvm_target: "armv7-unknown-linux-muslabihf".to_string(), ++ target_endian: "little".to_string(), ++ target_pointer_width: "32".to_string(), ++ target_c_int_width: "32".to_string(), ++ data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(), ++ arch: "arm".to_string(), ++ target_os: "linux".to_string(), ++ target_env: "musl".to_string(), ++ target_vendor: "alpine".to_string(), ++ linker_flavor: LinkerFlavor::Gcc, ++ ++ // Most of these settings are copied from the armv7_unknown_linux_gnueabihf ++ // target. ++ options: TargetOptions { ++ features: "+v7,+vfp3,+d16,+thumb2,-neon".to_string(), ++ cpu: "generic".to_string(), ++ max_atomic_width: Some(64), ++ abi_blacklist: super::arm_base::abi_blacklist(), ++ target_mcount: "\u{1}mcount".to_string(), ++ .. base ++ } ++ }) ++} +--- /dev/null ++++ b/src/librustc_target/spec/powerpc64le_alpine_linux_musl.rs +@@ -0,0 +1,28 @@ ++use crate::spec::{LinkerFlavor, Target, TargetOptions, TargetResult}; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::linux_musl_base::opts(); ++ base.cpu = "ppc64le".to_string(); ++ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string()); ++ base.max_atomic_width = Some(64); ++ base.crt_static_default = false; ++ base.static_position_independent_executables = true; ++ base.need_rpath = true; ++ ++ Ok(Target { ++ llvm_target: "powerpc64le-alpine-linux-musl".to_string(), ++ target_endian: "little".to_string(), ++ target_pointer_width: "64".to_string(), ++ target_c_int_width: "32".to_string(), ++ data_layout: "e-m:e-i64:64-n32:64".to_string(), ++ arch: "powerpc64".to_string(), ++ target_os: "linux".to_string(), ++ target_env: "musl".to_string(), ++ target_vendor: "alpine".to_string(), ++ linker_flavor: LinkerFlavor::Gcc, ++ options: TargetOptions { ++ target_mcount: "_mcount".to_string(), + .. base + }, + }) |