]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/linux_kernel_base.rs
Auto merge of #77618 - fusion-engineering-forks:windows-parker, r=Amanieu
[rust.git] / compiler / rustc_target / src / spec / linux_kernel_base.rs
1 use crate::spec::{LinkArgs, LinkerFlavor, PanicStrategy, RelocModel, RelroLevel, TargetOptions};
2
3 pub fn opts() -> TargetOptions {
4     let mut pre_link_args = LinkArgs::new();
5     pre_link_args.insert(
6         LinkerFlavor::Gcc,
7         vec!["-Wl,--as-needed".to_string(), "-Wl,-z,noexecstack".to_string()],
8     );
9
10     TargetOptions {
11         env: "gnu".to_string(),
12         disable_redzone: true,
13         panic_strategy: PanicStrategy::Abort,
14         stack_probes: true,
15         eliminate_frame_pointer: false,
16         linker_is_gnu: true,
17         position_independent_executables: true,
18         needs_plt: true,
19         relro_level: RelroLevel::Full,
20         relocation_model: RelocModel::Static,
21         pre_link_args,
22
23         ..Default::default()
24     }
25 }