summaryrefslogtreecommitdiff
path: root/user/rust/0028-Add-foxkit-target-specs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/rust/0028-Add-foxkit-target-specs.patch')
-rw-r--r--user/rust/0028-Add-foxkit-target-specs.patch240
1 files changed, 240 insertions, 0 deletions
diff --git a/user/rust/0028-Add-foxkit-target-specs.patch b/user/rust/0028-Add-foxkit-target-specs.patch
new file mode 100644
index 000000000..46a255a3c
--- /dev/null
+++ b/user/rust/0028-Add-foxkit-target-specs.patch
@@ -0,0 +1,240 @@
+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 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 +++++++++++++++++++
+ src/librustc_target/spec/mod.rs | 7 +++++++
+ .../spec/powerpc64_foxkit_linux_musl.rs | 21 +++++++++++++++++++
+ .../spec/powerpc_foxkit_linux_musl.rs | 21 +++++++++++++++++++
+ .../spec/x86_64_foxkit_linux_musl.rs | 21 +++++++++++++++++++
+ 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
+ create mode 100644 src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs
+ 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
+--- /dev/null
++++ b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
+@@ -0,0 +1,21 @@
++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
++// file at the top-level directory of this distribution and at
++// http://rust-lang.org/COPYRIGHT.
++//
++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++// option. This file may not be copied, modified, or distributed
++// except according to those terms.
++
++use spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::aarch64_unknown_linux_musl::target()?;
++
++ base.llvm_target = "aarch64-foxkit-linux-musl".to_string();
++ base.target_vendor = "foxkit".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
+new file mode 100644
+index 0000000000..facfd5d363
+--- /dev/null
++++ b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
+@@ -0,0 +1,21 @@
++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
++// file at the top-level directory of this distribution and at
++// http://rust-lang.org/COPYRIGHT.
++//
++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++// option. This file may not be copied, modified, or distributed
++// except according to those terms.
++
++use spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::armv7_unknown_linux_musleabihf::target()?;
++
++ base.llvm_target = "armv7-foxkit-linux-musleabihf".to_string();
++ base.target_vendor = "foxkit".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/i586_foxkit_linux_musl.rs b/src/librustc_target/spec/i586_foxkit_linux_musl.rs
+new file mode 100644
+index 0000000000..cd6280e586
+--- /dev/null
++++ b/src/librustc_target/spec/i586_foxkit_linux_musl.rs
+@@ -0,0 +1,21 @@
++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
++// file at the top-level directory of this distribution and at
++// http://rust-lang.org/COPYRIGHT.
++//
++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++// option. This file may not be copied, modified, or distributed
++// except according to those terms.
++
++use spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::i586_unknown_linux_musl::target()?;
++
++ base.llvm_target = "i586-foxkit-linux-musl".to_string();
++ base.target_vendor = "foxkit".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
+index 94aa07abb6..1187afbb60 100644
+--- a/src/librustc_target/spec/mod.rs
++++ b/src/librustc_target/spec/mod.rs
+@@ -375,6 +375,13 @@ supported_targets! {
+ ("armv7-unknown-cloudabi-eabihf", armv7_unknown_cloudabi_eabihf),
+ ("i686-unknown-cloudabi", i686_unknown_cloudabi),
+ ("x86_64-unknown-cloudabi", x86_64_unknown_cloudabi),
++
++ ("aarch64-foxkit-linux-musl", aarch64_foxkit_linux_musl),
++ ("armv7-foxkit-linux-musleabihf", armv7_foxkit_linux_musleabihf),
++ ("i586-foxkit-linux-musl", i586_foxkit_linux_musl),
++ ("powerpc-foxkit-linux-musl", powerpc_foxkit_linux_musl),
++ ("powerpc64-foxkit-linux-musl", powerpc64_foxkit_linux_musl),
++ ("x86_64-foxkit-linux-musl", x86_64_foxkit_linux_musl),
+ }
+
+ /// Everything `rustc` knows about how to compile for a specific target.
+diff --git a/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs
+new file mode 100644
+index 0000000000..b7202ee0fc
+--- /dev/null
++++ b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs
+@@ -0,0 +1,21 @@
++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
++// file at the top-level directory of this distribution and at
++// http://rust-lang.org/COPYRIGHT.
++//
++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++// option. This file may not be copied, modified, or distributed
++// except according to those terms.
++
++use spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::powerpc64_unknown_linux_musl::target()?;
++
++ base.llvm_target = "powerpc64-foxkit-linux-musl".to_string();
++ base.target_vendor = "foxkit".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
+new file mode 100644
+index 0000000000..4daa96d3ce
+--- /dev/null
++++ b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
+@@ -0,0 +1,21 @@
++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
++// file at the top-level directory of this distribution and at
++// http://rust-lang.org/COPYRIGHT.
++//
++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++// option. This file may not be copied, modified, or distributed
++// except according to those terms.
++
++use spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::powerpc_unknown_linux_musl::target()?;
++
++ base.llvm_target = "powerpc-foxkit-linux-musl".to_string();
++ base.target_vendor = "foxkit".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs
+new file mode 100644
+index 0000000000..801dd8d6f4
+--- /dev/null
++++ b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs
+@@ -0,0 +1,21 @@
++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
++// file at the top-level directory of this distribution and at
++// http://rust-lang.org/COPYRIGHT.
++//
++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++// option. This file may not be copied, modified, or distributed
++// except according to those terms.
++
++use spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::x86_64_unknown_linux_musl::target()?;
++
++ base.llvm_target = "x86_64-foxkit-linux-musl".to_string();
++ base.target_vendor = "foxkit".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+--
+2.18.0
+