diff options
| author | kennytm <kennytm@gmail.com> | 2018-05-24 16:02:37 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-24 16:02:37 +0800 |
| commit | 0bb7335cb8511659fcdc1774d37e6df7db14bac7 (patch) | |
| tree | 7044961630df5043991b8e053dfe033c0903f37f /src/librustc_target | |
| parent | b4463d788bfd30b622a87a0e6f8e9271b9102e50 (diff) | |
| parent | ec779b9f08a55a88b866d2c9d514cb104af5c052 (diff) | |
| download | rust-0bb7335cb8511659fcdc1774d37e6df7db14bac7.tar.gz rust-0bb7335cb8511659fcdc1774d37e6df7db14bac7.zip | |
Rollup merge of #50864 - jakllsch:add-netbsd-arm-target-specs, r=alexcrichton
Add NetBSD/arm target specs
Diffstat (limited to 'src/librustc_target')
| -rw-r--r-- | src/librustc_target/spec/armv6_unknown_netbsd_eabihf.rs | 34 | ||||
| -rw-r--r-- | src/librustc_target/spec/armv7_unknown_netbsd_eabihf.rs | 35 | ||||
| -rw-r--r-- | src/librustc_target/spec/mod.rs | 2 |
3 files changed, 71 insertions, 0 deletions
diff --git a/src/librustc_target/spec/armv6_unknown_netbsd_eabihf.rs b/src/librustc_target/spec/armv6_unknown_netbsd_eabihf.rs new file mode 100644 index 00000000000..38f0f34211d --- /dev/null +++ b/src/librustc_target/spec/armv6_unknown_netbsd_eabihf.rs @@ -0,0 +1,34 @@ +// Copyright 2014 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, Target, TargetOptions, TargetResult}; + +pub fn target() -> TargetResult { + let mut base = super::netbsd_base::opts(); + base.max_atomic_width = Some(64); + Ok(Target { + llvm_target: "armv6-unknown-netbsdelf-eabihf".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: "netbsd".to_string(), + target_env: "eabihf".to_string(), + target_vendor: "unknown".to_string(), + linker_flavor: LinkerFlavor::Gcc, + + options: TargetOptions { + features: "+v6,+vfp2".to_string(), + abi_blacklist: super::arm_base::abi_blacklist(), + .. base + } + }) +} diff --git a/src/librustc_target/spec/armv7_unknown_netbsd_eabihf.rs b/src/librustc_target/spec/armv7_unknown_netbsd_eabihf.rs new file mode 100644 index 00000000000..412c3546115 --- /dev/null +++ b/src/librustc_target/spec/armv7_unknown_netbsd_eabihf.rs @@ -0,0 +1,35 @@ +// Copyright 2016 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, Target, TargetOptions, TargetResult}; + +pub fn target() -> TargetResult { + let base = super::netbsd_base::opts(); + Ok(Target { + llvm_target: "armv7-unknown-netbsdelf-eabihf".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: "netbsd".to_string(), + target_env: "eabihf".to_string(), + target_vendor: "unknown".to_string(), + linker_flavor: LinkerFlavor::Gcc, + + 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(), + .. base + } + }) +} diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs index be0860d9646..a0cbfe2fefa 100644 --- a/src/librustc_target/spec/mod.rs +++ b/src/librustc_target/spec/mod.rs @@ -317,6 +317,8 @@ supported_targets! { ("i686-unknown-openbsd", i686_unknown_openbsd), ("x86_64-unknown-openbsd", x86_64_unknown_openbsd), + ("armv6-unknown-netbsd-eabihf", armv6_unknown_netbsd_eabihf), + ("armv7-unknown-netbsd-eabihf", armv7_unknown_netbsd_eabihf), ("i686-unknown-netbsd", i686_unknown_netbsd), ("powerpc-unknown-netbsd", powerpc_unknown_netbsd), ("sparc64-unknown-netbsd", sparc64_unknown_netbsd), |
