File tree 1 file changed +4
-1
lines changed
1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -333,8 +333,11 @@ fn make_module(sess: &Session, name: String) -> UnwindModule<ObjectModule> {
333
333
334
334
let mut builder =
335
335
ObjectBuilder :: new ( isa, name + ".o" , cranelift_module:: default_libcall_names ( ) ) . unwrap ( ) ;
336
+ // Disable function sections by default on MSVC as it causes significant with link.exe. Maybe
337
+ // link.exe has exponential behavior when there are many sections with the same name?
338
+ let default_function_sections = sess. target . function_sections && !sess. target . is_like_msvc ;
336
339
builder. per_function_section (
337
- sess. opts . unstable_opts . function_sections . unwrap_or ( sess . target . function_sections ) ,
340
+ sess. opts . unstable_opts . function_sections . unwrap_or ( default_function_sections ) ,
338
341
) ;
339
342
UnwindModule :: new ( ObjectModule :: new ( builder) , true )
340
343
}
You can’t perform that action at this time.
0 commit comments