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