Skip to content

Commit be33738

Browse files
committed
Added arm-none-eabi target
1 parent 7754865 commit be33738

File tree

4 files changed

+38
-0
lines changed

4 files changed

+38
-0
lines changed

src/ci/docker/dist-various-1/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,15 @@ ENV TARGETS=$TARGETS,armebv7r-none-eabi
120120
ENV TARGETS=$TARGETS,armebv7r-none-eabihf
121121
ENV TARGETS=$TARGETS,armv7r-none-eabi
122122
ENV TARGETS=$TARGETS,armv7r-none-eabihf
123+
ENV TARGETS=$TARGETS,arm-none-eabi
123124
ENV TARGETS=$TARGETS,thumbv7neon-unknown-linux-gnueabihf
124125

125126
ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
126127
CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
127128
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
128129
CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \
129130
CC_armebv7r_none_eabi=arm-none-eabi-gcc \
131+
CC_arm_none_eabi=arm-none-eabi-gcc \
130132
CC_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
131133
AR_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-ar \
132134
CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Generic arm target for bare-metal code
2+
//
3+
// Can be used in conjunction with the `target-feature` and
4+
// `target-cpu` compiler flags to opt-in more hardware-specific
5+
// features.
6+
//
7+
// For example, `-C target-cpu=cortex-a7`.
8+
9+
use super::{LinkerFlavor, Target, TargetOptions, PanicStrategy};
10+
11+
pub fn target() -> Result<Target, String> {
12+
Ok(Target {
13+
llvm_target: "arm-none-eabi".to_string(),
14+
target_endian: "little".to_string(),
15+
target_pointer_width: "32".to_string(),
16+
target_c_int_width: "32".to_string(),
17+
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
18+
arch: "arm".to_string(),
19+
target_os: "none".to_string(),
20+
target_env: String::new(),
21+
target_vendor: String::new(),
22+
linker_flavor: LinkerFlavor::Gcc,
23+
24+
options: TargetOptions {
25+
features: "+strict-align,+v6".to_string(),
26+
executables: true,
27+
relocation_model: "static".to_string(),
28+
max_atomic_width: Some(64),
29+
panic_strategy: PanicStrategy::Abort,
30+
abi_blacklist: super::arm_base::abi_blacklist(),
31+
.. Default::default()
32+
},
33+
})
34+
}

src/librustc_target/spec/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ supported_targets! {
351351
("s390x-unknown-linux-gnu", s390x_unknown_linux_gnu),
352352
("sparc-unknown-linux-gnu", sparc_unknown_linux_gnu),
353353
("sparc64-unknown-linux-gnu", sparc64_unknown_linux_gnu),
354+
("arm-none-eabi", arm_none_eabi),
354355
("arm-unknown-linux-gnueabi", arm_unknown_linux_gnueabi),
355356
("arm-unknown-linux-gnueabihf", arm_unknown_linux_gnueabihf),
356357
("arm-unknown-linux-musleabi", arm_unknown_linux_musleabi),

src/tools/build-manifest/src/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ static TARGETS: &[&str] = &[
4949
"aarch64-unknown-linux-gnu",
5050
"aarch64-unknown-linux-musl",
5151
"arm-linux-androideabi",
52+
"arm-none-eabi",
5253
"arm-unknown-linux-gnueabi",
5354
"arm-unknown-linux-gnueabihf",
5455
"arm-unknown-linux-musleabi",

0 commit comments

Comments
 (0)