summaryrefslogblamecommitdiff
path: root/user/rust/0014-Add-foxkit-target-specs.patch
blob: ecbfe26b5abbcbd46beb174145ba27a9f9f7254a (plain) (tree)
1
2
3
4
5
6
                                                                      

                                          
                                              

   






                                                                       
                                   






























































                                                                                                                                  
                            

                                                        
                









                                                                     
                                        






                                                              

                                                                             



                                                                              
                                   

                                     

                                                     
 
                     





                                                                      



                                                                  




























                                                                                                                              
                            

                                                           
                









                                                                     
                                        






                                                                 

                                                                             






























                                                                                                                        
      
 
From 2ca1aeb3cb3e0d52917cec2a96101aba5c6e40ce Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 02:29:06 +0000
Subject: [PATCH 14/14] Add foxkit target specs

---
 .../spec/aarch64_foxkit_linux_musl.rs         | 21 +++++++++++++++++
 .../spec/armv7_foxkit_linux_musleabihf.rs     | 21 +++++++++++++++++
 .../spec/i586_foxkit_linux_musl.rs            | 23 +++++++++++++++++++
 src/librustc_target/spec/mod.rs               |  7 ++++++
 .../spec/powerpc64_foxkit_linux_musl.rs       | 21 +++++++++++++++++
 .../spec/powerpc_foxkit_linux_musl.rs         | 23 +++++++++++++++++++
 .../spec/x86_64_foxkit_linux_musl.rs          | 21 +++++++++++++++++
 7 files changed, 137 insertions(+)
 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/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..e0284d96e6
--- /dev/null
+++ b/src/librustc_target/spec/i586_foxkit_linux_musl.rs
@@ -0,0 +1,23 @@
+// 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::{LinkerFlavor, 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;
+    base.options.post_link_args.insert(LinkerFlavor::Gcc,
+        vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]);
+
+    Ok(base)
+}
diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
index f42b0a1c3c..f83be3e4e3 100644
--- a/src/librustc_target/spec/mod.rs
+++ b/src/librustc_target/spec/mod.rs
@@ -278,6 +278,13 @@ macro_rules! supported_targets {
 }
 
 supported_targets! {
+    ("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),
+
     ("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),
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..34246a7e28
--- /dev/null
+++ b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
@@ -0,0 +1,23 @@
+// 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::{LinkerFlavor, 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;
+    base.options.post_link_args.insert(LinkerFlavor::Gcc,
+        vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]);
+
+    Ok(base)
+}
diff --git a/src/librustc_target/spec/x86_64_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.21.0