rustc_target/spec/base/
linux.rs

1use std::borrow::Cow;
2
3use crate::spec::{RelroLevel, SplitDebuginfo, TargetOptions, cvs};
4
5pub(crate) fn opts() -> TargetOptions {
6    TargetOptions {
7        os: "linux".into(),
8        dynamic_linking: true,
9        families: cvs!["unix"],
10        has_rpath: true,
11        position_independent_executables: true,
12        relro_level: RelroLevel::Full,
13        has_thread_local: true,
14        crt_static_respected: true,
15        supported_split_debuginfo: Cow::Borrowed(&[
16            SplitDebuginfo::Packed,
17            SplitDebuginfo::Unpacked,
18            SplitDebuginfo::Off,
19        ]),
20        ..Default::default()
21    }
22}