]>
Commit | Line | Data |
---|---|---|
f9f354fc | 1 | use crate::spec::{LinkArgs, LinkerFlavor, PanicStrategy, RelocModel, RelroLevel, TargetOptions}; |
e1599b0c XL |
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 | disable_redzone: true, | |
12 | panic_strategy: PanicStrategy::Abort, | |
13 | stack_probes: true, | |
14 | eliminate_frame_pointer: false, | |
15 | linker_is_gnu: true, | |
16 | position_independent_executables: true, | |
17 | needs_plt: true, | |
18 | relro_level: RelroLevel::Full, | |
f9f354fc | 19 | relocation_model: RelocModel::Static, |
e1599b0c XL |
20 | pre_link_args, |
21 | ||
22 | ..Default::default() | |
23 | } | |
24 | } |