]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/hermit_kernel_base.rs
Auto merge of #77618 - fusion-engineering-forks:windows-parker, r=Amanieu
[rust.git] / compiler / rustc_target / src / spec / hermit_kernel_base.rs
1 use crate::spec::{LinkArgs, LinkerFlavor, LldFlavor, PanicStrategy};
2 use crate::spec::{RelocModel, TargetOptions, TlsModel};
3
4 pub fn opts() -> TargetOptions {
5     let mut pre_link_args = LinkArgs::new();
6     pre_link_args.insert(
7         LinkerFlavor::Lld(LldFlavor::Ld),
8         vec!["--build-id".to_string(), "--hash-style=gnu".to_string(), "--Bstatic".to_string()],
9     );
10
11     TargetOptions {
12         os: "hermit".to_string(),
13         linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
14         disable_redzone: true,
15         linker: Some("rust-lld".to_owned()),
16         executables: true,
17         has_elf_tls: true,
18         linker_is_gnu: true,
19         pre_link_args,
20         panic_strategy: PanicStrategy::Abort,
21         position_independent_executables: true,
22         static_position_independent_executables: true,
23         relocation_model: RelocModel::Pic,
24         os_family: None,
25         tls_model: TlsModel::InitialExec,
26         ..Default::default()
27     }
28 }