rustc_target: Add convenience functions for adding linker arguments

They ensure that lld and non-lld linker flavors get the same set of arguments
This commit is contained in:
Vadim Petrochenkov
2022-06-17 17:38:42 +03:00
parent 8aab472d52
commit 46aba8850b
74 changed files with 347 additions and 419 deletions

View File

@@ -1,23 +1,20 @@
use crate::spec::{
crt_objects, cvs, LinkArgs, LinkOutputKind, LinkerFlavor, LldFlavor, TargetOptions,
};
use crate::spec::{crt_objects, cvs, LinkOutputKind, LinkerFlavor, LldFlavor, TargetOptions};
pub fn opts() -> TargetOptions {
let mut pre_link_args = LinkArgs::new();
pre_link_args.insert(
LinkerFlavor::Lld(LldFlavor::Ld),
vec![
"--build-id".into(),
"--hash-style=gnu".into(),
"-z".into(),
"max-page-size=4096".into(),
"-z".into(),
"now".into(),
"-z".into(),
"rodynamic".into(),
"-z".into(),
"separate-loadable-segments".into(),
"--pack-dyn-relocs=relr".into(),
let pre_link_args = TargetOptions::link_args(
LinkerFlavor::Ld,
&[
"--build-id",
"--hash-style=gnu",
"-z",
"max-page-size=4096",
"-z",
"now",
"-z",
"rodynamic",
"-z",
"separate-loadable-segments",
"--pack-dyn-relocs=relr",
],
);