Skip to content

Commit adddee4

Browse files
author
MikaelUrankar
committed
Add FreeBSD armv6 and armv7 targets
1 parent 1484d0d commit adddee4

File tree

4 files changed

+54
-0
lines changed

4 files changed

+54
-0
lines changed

src/bootstrap/bootstrap.py

+4
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,10 @@ def default_build_triple():
262262
cputype = 'arm'
263263
if ostype == 'linux-android':
264264
ostype = 'linux-androideabi'
265+
elif ostype == 'unknown-freebsd':
266+
cputype = subprocess.check_output(
267+
['uname', '-p']).strip().decode(default_encoding)
268+
ostype = 'unknown-freebsd'
265269
elif cputype == 'armv6l':
266270
cputype = 'arm'
267271
if ostype == 'linux-android':
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
use crate::spec::{LinkerFlavor, Target, TargetOptions, TargetResult};
2+
3+
pub fn target() -> TargetResult {
4+
let base = super::freebsd_base::opts();
5+
Ok(Target {
6+
llvm_target: "armv6-unknown-freebsd-gnueabihf".to_string(),
7+
target_endian: "little".to_string(),
8+
target_pointer_width: "32".to_string(),
9+
target_c_int_width: "32".to_string(),
10+
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
11+
arch: "arm".to_string(),
12+
target_os: "freebsd".to_string(),
13+
target_env: "gnueabihf".to_string(),
14+
target_vendor: "unknown".to_string(),
15+
linker_flavor: LinkerFlavor::Gcc,
16+
17+
options: TargetOptions {
18+
features: "+v6,+vfp2".to_string(),
19+
max_atomic_width: Some(64),
20+
abi_blacklist: super::arm_base::abi_blacklist(),
21+
.. base
22+
}
23+
})
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
use crate::spec::{LinkerFlavor, Target, TargetOptions, TargetResult};
2+
3+
pub fn target() -> TargetResult {
4+
let base = super::freebsd_base::opts();
5+
Ok(Target {
6+
llvm_target: "armv7-unknown-freebsd-gnueabihf".to_string(),
7+
target_endian: "little".to_string(),
8+
target_pointer_width: "32".to_string(),
9+
target_c_int_width: "32".to_string(),
10+
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
11+
arch: "arm".to_string(),
12+
target_os: "freebsd".to_string(),
13+
target_env: "gnueabihf".to_string(),
14+
target_vendor: "unknown".to_string(),
15+
linker_flavor: LinkerFlavor::Gcc,
16+
17+
options: TargetOptions {
18+
features: "+v7,+vfp3,+d16,+thumb2,-neon".to_string(),
19+
max_atomic_width: Some(64),
20+
abi_blacklist: super::arm_base::abi_blacklist(),
21+
.. base
22+
}
23+
})
24+
}

src/librustc_target/spec/mod.rs

+2
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,8 @@ supported_targets! {
366366
("aarch64-linux-android", aarch64_linux_android),
367367

368368
("aarch64-unknown-freebsd", aarch64_unknown_freebsd),
369+
("armv6-unknown-freebsd", armv6_unknown_freebsd),
370+
("armv7-unknown-freebsd", armv7_unknown_freebsd),
369371
("i686-unknown-freebsd", i686_unknown_freebsd),
370372
("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd),
371373
("x86_64-unknown-freebsd", x86_64_unknown_freebsd),

0 commit comments

Comments
 (0)