linker: Use data execution prevention options by default when linker supports them

This commit is contained in:
Vadim Petrochenkov
2021-03-28 23:18:39 +03:00
parent 4a20eb6a9d
commit cc5392e76b
11 changed files with 23 additions and 73 deletions

View File

@@ -1,11 +1,6 @@
use crate::spec::{
LinkArgs, LinkerFlavor, PanicStrategy, RelocModel, RelroLevel, StackProbeType, TargetOptions,
};
use crate::spec::{PanicStrategy, RelocModel, RelroLevel, StackProbeType, TargetOptions};
pub fn opts() -> TargetOptions {
let mut pre_link_args = LinkArgs::new();
pre_link_args.insert(LinkerFlavor::Gcc, vec!["-Wl,-z,noexecstack".to_string()]);
TargetOptions {
env: "gnu".to_string(),
disable_redzone: true,
@@ -17,7 +12,6 @@ pub fn opts() -> TargetOptions {
needs_plt: true,
relro_level: RelroLevel::Full,
relocation_model: RelocModel::Static,
pre_link_args,
..Default::default()
}