Skip to content

Commit a41521b

Browse files
committed
rtems: Add spec file for arm_rtems6_eabihf
1 parent 6a41b33 commit a41521b

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

compiler/rustc_target/src/spec/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1687,6 +1687,7 @@ supported_targets! {
16871687

16881688
("armebv7r-none-eabi", armebv7r_none_eabi),
16891689
("armebv7r-none-eabihf", armebv7r_none_eabihf),
1690+
("armv7-rtems-eabihf", armv7_rtems_eabihf),
16901691
("armv7r-none-eabi", armv7r_none_eabi),
16911692
("armv7r-none-eabihf", armv7r_none_eabihf),
16921693
("armv8r-none-eabihf", armv8r_none_eabihf),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
use crate::spec::{cvs, Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions};
2+
3+
pub fn target() -> Target {
4+
Target {
5+
llvm_target: "armv7a-unknown-none-eabihf".into(),
6+
metadata: crate::spec::TargetMetadata {
7+
description: None,
8+
tier: Some(3),
9+
host_tools: Some(false),
10+
std: Some(true),
11+
},
12+
pointer_width: 32,
13+
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),
14+
arch: "arm".into(),
15+
16+
options: TargetOptions {
17+
os: "rtems".into(),
18+
families: cvs!["unix"],
19+
abi: "eabihf".into(),
20+
linker_flavor: LinkerFlavor::Gnu(Cc::Yes, Lld::No),
21+
linker: Some("arm-rtems6-gcc".into()),
22+
relocation_model: RelocModel::Static,
23+
panic_strategy: PanicStrategy::Abort,
24+
features: "+thumb2,+neon,+vfp3".into(),
25+
max_atomic_width: Some(64),
26+
emit_debug_gdb_scripts: false,
27+
// GCC defaults to 8 for arm-none here.
28+
c_enum_min_bits: Some(8),
29+
eh_frame_header: false,
30+
no_default_libraries: false,
31+
env: "newlib".into(),
32+
pre_link_args: TargetOptions::link_args(
33+
LinkerFlavor::Gnu(Cc::Yes, Lld::No),
34+
&["-qrtems", "-march=armv7-a", "-mthumb", "-mfpu=neon", "-mfloat-abi=hard"],
35+
),
36+
..Default::default()
37+
},
38+
}
39+
}

tests/assembly/targets/targets-elf.rs

+3
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@
123123
//@ revisions: armv7_linux_androideabi
124124
//@ [armv7_linux_androideabi] compile-flags: --target armv7-linux-androideabi
125125
//@ [armv7_linux_androideabi] needs-llvm-components: arm
126+
//@ revisions: armv7_rtems_eabihf
127+
//@ [armv7_rtems_eabihf] compile-flags: --target armv7-rtems-eabihf
128+
//@ [armv7_rtems_eabihf] needs-llvm-components: arm
126129
//@ revisions: armv7_sony_vita_newlibeabihf
127130
//@ [armv7_sony_vita_newlibeabihf] compile-flags: --target armv7-sony-vita-newlibeabihf
128131
//@ [armv7_sony_vita_newlibeabihf] needs-llvm-components: arm

0 commit comments

Comments
 (0)