Skip to main content

rustc_target/spec/targets/
i386_lynx_lynxos178.rs

1use crate::spec::{Arch, Cc, LinkerFlavor, Lld, RelocModel, StackProbeType, Target, base};
2
3#[allow(rustc::bad_opt_access)]
4pub(crate) fn target() -> Target {
5    let mut base = base::lynxos178::opts();
6    base.cpu = "i386".into();
7    base.max_atomic_width = Some(32);
8    base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]);
9    base.stack_probes = StackProbeType::Inline;
10    base.vendor = "lynx".into();
11    base.linker = Some("i386-lynx-lynxos178-gcc-7.1.0".into());
12    base.relocation_model = RelocModel::Static;
13    base.emit_debug_gdb_scripts = false;
14    base.has_thread_local = true;
15    base.crt_static_default = true;
16    base.crt_static_allows_dylibs = false;
17
18    Target {
19        llvm_target: "i686-unknown-linux-gnu".into(),
20        metadata: crate::spec::TargetMetadata {
21            description: None,
22            tier: Some(3),
23            host_tools: None,
24            std: None,
25        },
26        pointer_width: 32,
27        data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
28            i128:128-f64:32:64-f80:32-n8:16:32-S128"
29            .into(),
30        arch: Arch::X86,
31        options: base,
32    }
33}