Skip to content

Commit 124454c

Browse files
committed
rtems: Add spec file for arm_rtems6_eabihf
1 parent 6f435cb commit 124454c

3 files changed

Lines changed: 40 additions & 0 deletions

File tree

‎compiler/rustc_target/src/spec/mod.rs‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1695,6 +1695,8 @@ supported_targets! {
16951695
("armv7r-none-eabihf", armv7r_none_eabihf),
16961696
("armv8r-none-eabihf", armv8r_none_eabihf),
16971697

1698+
("armv7-rtems-eabihf", armv7_rtems_eabihf),
1699+
16981700
("x86_64-pc-solaris", x86_64_pc_solaris),
16991701
("sparcv9-sun-solaris", sparcv9_sun_solaris),
17001702

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
usecrate::spec::{cvs,Cc,LinkerFlavor,Lld,PanicStrategy,RelocModel,Target,TargetOptions};
2+
3+
pub(crate)fntarget() -> Target{
4+
Target{
5+
llvm_target:"armv7-unknown-none-eabihf".into(),
6+
metadata:crate::spec::TargetMetadata{
7+
description:Some("Armv7 RTEMS (Requires RTEMS toolchain and kernel".into()),
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:None,
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+
..Default::default()
33+
},
34+
}
35+
}

‎tests/assembly/targets/targets-elf.rs‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@
129129
//@ revisions: armv7_linux_androideabi
130130
//@ [armv7_linux_androideabi] compile-flags: --target armv7-linux-androideabi
131131
//@ [armv7_linux_androideabi] needs-llvm-components: arm
132+
//@ revisions: armv7_rtems_eabihf
133+
//@ [armv7_rtems_eabihf] compile-flags: --target armv7-rtems-eabihf
134+
//@ [armv7_rtems_eabihf] needs-llvm-components: arm
132135
//@ revisions: armv7_sony_vita_newlibeabihf
133136
//@ [armv7_sony_vita_newlibeabihf] compile-flags: --target armv7-sony-vita-newlibeabihf
134137
//@ [armv7_sony_vita_newlibeabihf] needs-llvm-components: arm

0 commit comments

Comments
 (0)