1
1
use crate :: spec:: { LinkArgs , LinkerFlavor , TargetOptions } ;
2
2
3
3
pub fn opts ( ) -> TargetOptions {
4
+ let base = super :: windows_gnu_base:: opts ( ) ;
5
+
6
+ // FIXME: Consider adding `-nostdlib` and inheriting from `windows_gnu_base`.
4
7
let mut pre_link_args = LinkArgs :: new ( ) ;
5
8
pre_link_args. insert (
6
9
LinkerFlavor :: Gcc ,
@@ -13,7 +16,10 @@ pub fn opts() -> TargetOptions {
13
16
] ,
14
17
) ;
15
18
19
+ // FIXME: Should UWP target be updated for the exception machinery changes from #67502?
16
20
let mut late_link_args = LinkArgs :: new ( ) ;
21
+ let late_link_args_dynamic = LinkArgs :: new ( ) ;
22
+ let late_link_args_static = LinkArgs :: new ( ) ;
17
23
late_link_args. insert (
18
24
LinkerFlavor :: Gcc ,
19
25
vec ! [
@@ -32,31 +38,17 @@ pub fn opts() -> TargetOptions {
32
38
) ;
33
39
34
40
TargetOptions {
35
- // FIXME(#13846) this should be enabled for windows
36
- function_sections : false ,
37
- linker : Some ( "gcc" . to_string ( ) ) ,
38
- dynamic_linking : true ,
39
41
executables : false ,
40
- dll_prefix : String :: new ( ) ,
41
- dll_suffix : ".dll" . to_string ( ) ,
42
- exe_suffix : ".exe" . to_string ( ) ,
43
- staticlib_prefix : "lib" . to_string ( ) ,
44
- staticlib_suffix : ".a" . to_string ( ) ,
45
- target_family : Some ( "windows" . to_string ( ) ) ,
46
- is_like_windows : true ,
47
- allows_weak_linkage : false ,
42
+ limit_rdylib_exports : false ,
48
43
pre_link_args,
49
- pre_link_objects_exe : vec ! [
50
- "rsbegin.o" . to_string( ) , // Rust compiler runtime initialization, see rsbegin.rs
51
- ] ,
44
+ // FIXME: Consider adding `-nostdlib` and inheriting from `windows_gnu_base`.
45
+ pre_link_objects_exe : vec ! [ "rsbegin.o" . to_string( ) ] ,
46
+ // FIXME: Consider adding `-nostdlib` and inheriting from `windows_gnu_base`.
52
47
pre_link_objects_dll : vec ! [ "rsbegin.o" . to_string( ) ] ,
53
48
late_link_args,
54
- post_link_objects : vec ! [ "rsend.o" . to_string( ) ] ,
55
- abi_return_struct_as_int : true ,
56
- emit_debug_gdb_scripts : false ,
57
- requires_uwtable : true ,
58
- limit_rdylib_exports : false ,
49
+ late_link_args_dynamic,
50
+ late_link_args_static,
59
51
60
- ..Default :: default ( )
52
+ ..base
61
53
}
62
54
}
0 commit comments