]> git.lizzy.rs Git - rust.git/commitdiff
rustc_target: Inherit `windows_uwp_gnu_base` from `windows_gnu_base`
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>
Sat, 11 Apr 2020 14:07:39 +0000 (17:07 +0300)
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>
Mon, 13 Apr 2020 15:37:51 +0000 (18:37 +0300)
src/librustc_target/spec/windows_uwp_gnu_base.rs

index bd1e0bc5eba940d29ce3963f77d38c5c20c62240..aa99c3f7d95e533050ecf6f5c9e9c5227da47da1 100644 (file)
@@ -1,6 +1,9 @@
 use crate::spec::{LinkArgs, LinkerFlavor, TargetOptions};
 
 pub fn opts() -> TargetOptions {
+    let base = super::windows_gnu_base::opts();
+
+    // FIXME: Consider adding `-nostdlib` and inheriting from `windows_gnu_base`.
     let mut pre_link_args = LinkArgs::new();
     pre_link_args.insert(
         LinkerFlavor::Gcc,
@@ -13,7 +16,10 @@ pub fn opts() -> TargetOptions {
         ],
     );
 
+    // FIXME: Should UWP target be updated for the exception machinery changes from #67502?
     let mut late_link_args = LinkArgs::new();
+    let late_link_args_dynamic = LinkArgs::new();
+    let late_link_args_static = LinkArgs::new();
     late_link_args.insert(
         LinkerFlavor::Gcc,
         vec![
@@ -32,31 +38,17 @@ pub fn opts() -> TargetOptions {
     );
 
     TargetOptions {
-        // FIXME(#13846) this should be enabled for windows
-        function_sections: false,
-        linker: Some("gcc".to_string()),
-        dynamic_linking: true,
         executables: false,
-        dll_prefix: String::new(),
-        dll_suffix: ".dll".to_string(),
-        exe_suffix: ".exe".to_string(),
-        staticlib_prefix: "lib".to_string(),
-        staticlib_suffix: ".a".to_string(),
-        target_family: Some("windows".to_string()),
-        is_like_windows: true,
-        allows_weak_linkage: false,
+        limit_rdylib_exports: false,
         pre_link_args,
-        pre_link_objects_exe: vec![
-            "rsbegin.o".to_string(), // Rust compiler runtime initialization, see rsbegin.rs
-        ],
+        // FIXME: Consider adding `-nostdlib` and inheriting from `windows_gnu_base`.
+        pre_link_objects_exe: vec!["rsbegin.o".to_string()],
+        // FIXME: Consider adding `-nostdlib` and inheriting from `windows_gnu_base`.
         pre_link_objects_dll: vec!["rsbegin.o".to_string()],
         late_link_args,
-        post_link_objects: vec!["rsend.o".to_string()],
-        abi_return_struct_as_int: true,
-        emit_debug_gdb_scripts: false,
-        requires_uwtable: true,
-        limit_rdylib_exports: false,
+        late_link_args_dynamic,
+        late_link_args_static,
 
-        ..Default::default()
+        ..base
     }
 }