]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
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 | } |