1 use crate::spec::{crt_objects, LinkArgs, LinkOutputKind, LinkerFlavor, LldFlavor, TargetOptions};
3 pub fn opts() -> TargetOptions {
4 let mut pre_link_args = LinkArgs::new();
6 LinkerFlavor::Lld(LldFlavor::Ld),
8 "--build-id".to_string(),
9 "--hash-style=gnu".to_string(),
11 "max-page-size=4096".to_string(),
15 "rodynamic".to_string(),
17 "separate-loadable-segments".to_string(),
18 "--pack-dyn-relocs=relr".to_string(),
23 os: "fuchsia".to_string(),
24 linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
25 linker: Some("rust-lld".to_owned()),
26 dynamic_linking: true,
28 os_family: Some("unix".to_string()),
29 is_like_fuchsia: true,
32 pre_link_objects: crt_objects::new(&[
33 (LinkOutputKind::DynamicNoPicExe, &["Scrt1.o"]),
34 (LinkOutputKind::DynamicPicExe, &["Scrt1.o"]),
35 (LinkOutputKind::StaticNoPicExe, &["Scrt1.o"]),
36 (LinkOutputKind::StaticPicExe, &["Scrt1.o"]),
38 position_independent_executables: true,