rustc_target/spec/targets/
m68k_unknown_none_elf.rs

1use rustc_abi::Endian;
2
3use crate::spec::{
4    Arch, CodeModel, PanicStrategy, RelocModel, Target, TargetMetadata, TargetOptions,
5};
6
7pub(crate) fn target() -> Target {
8    let options = TargetOptions {
9        cpu: "M68010".into(),
10        max_atomic_width: None,
11        endian: Endian::Big,
12        // LLD currently does not have support for M68k
13        linker: Some("m68k-linux-gnu-ld".into()),
14        panic_strategy: PanicStrategy::Abort,
15        code_model: Some(CodeModel::Medium),
16        has_rpath: false,
17        // should be soft-float
18        llvm_floatabi: None,
19        relocation_model: RelocModel::Static,
20        ..Default::default()
21    };
22
23    Target {
24        llvm_target: "m68k".into(),
25        metadata: TargetMetadata {
26            description: Some("Motorola 680x0".into()),
27            tier: Some(3),
28            host_tools: Some(false),
29            std: Some(false),
30        },
31        pointer_width: 32,
32        data_layout: "E-m:e-p:32:16:32-i8:8:8-i16:16:16-i32:16:32-n8:16:32-a:0:16-S16".into(),
33        arch: Arch::M68k,
34        options,
35    }
36}