@@ -2136,6 +2136,7 @@ fn linker_with_args<'a>(
2136
2136
add_local_native_libraries (
2137
2137
cmd,
2138
2138
sess,
2139
+ flavor,
2139
2140
archive_builder_builder,
2140
2141
codegen_results,
2141
2142
tmpdir,
@@ -2146,6 +2147,7 @@ fn linker_with_args<'a>(
2146
2147
add_upstream_rust_crates (
2147
2148
cmd,
2148
2149
sess,
2150
+ flavor,
2149
2151
archive_builder_builder,
2150
2152
codegen_results,
2151
2153
crate_type,
@@ -2157,6 +2159,7 @@ fn linker_with_args<'a>(
2157
2159
add_upstream_native_libraries (
2158
2160
cmd,
2159
2161
sess,
2162
+ flavor,
2160
2163
archive_builder_builder,
2161
2164
codegen_results,
2162
2165
tmpdir,
@@ -2411,6 +2414,7 @@ fn collect_natvis_visualizers(
2411
2414
fn add_native_libs_from_crate (
2412
2415
cmd : & mut dyn Linker ,
2413
2416
sess : & Session ,
2417
+ flavor : LinkerFlavor ,
2414
2418
archive_builder_builder : & dyn ArchiveBuilderBuilder ,
2415
2419
codegen_results : & CodegenResults ,
2416
2420
tmpdir : & Path ,
@@ -2522,7 +2526,10 @@ fn add_native_libs_from_crate(
2522
2526
NativeLibKind :: WasmImportModule => { }
2523
2527
NativeLibKind :: LinkArg => {
2524
2528
if link_static {
2525
- cmd. arg ( name) ;
2529
+ let need_wrap = flavor. uses_cc ( ) && !verbatim;
2530
+ let wrapped_arg =
2531
+ if need_wrap { "-Wl," . to_owned ( ) + name } else { name. to_string ( ) } ;
2532
+ cmd. arg ( wrapped_arg) ;
2526
2533
}
2527
2534
}
2528
2535
}
@@ -2532,6 +2539,7 @@ fn add_native_libs_from_crate(
2532
2539
fn add_local_native_libraries (
2533
2540
cmd : & mut dyn Linker ,
2534
2541
sess : & Session ,
2542
+ flavor : LinkerFlavor ,
2535
2543
archive_builder_builder : & dyn ArchiveBuilderBuilder ,
2536
2544
codegen_results : & CodegenResults ,
2537
2545
tmpdir : & Path ,
@@ -2557,6 +2565,7 @@ fn add_local_native_libraries(
2557
2565
add_native_libs_from_crate (
2558
2566
cmd,
2559
2567
sess,
2568
+ flavor,
2560
2569
archive_builder_builder,
2561
2570
codegen_results,
2562
2571
tmpdir,
@@ -2572,6 +2581,7 @@ fn add_local_native_libraries(
2572
2581
fn add_upstream_rust_crates < ' a > (
2573
2582
cmd : & mut dyn Linker ,
2574
2583
sess : & ' a Session ,
2584
+ flavor : LinkerFlavor ,
2575
2585
archive_builder_builder : & dyn ArchiveBuilderBuilder ,
2576
2586
codegen_results : & CodegenResults ,
2577
2587
crate_type : CrateType ,
@@ -2646,6 +2656,7 @@ fn add_upstream_rust_crates<'a>(
2646
2656
add_native_libs_from_crate (
2647
2657
cmd,
2648
2658
sess,
2659
+ flavor,
2649
2660
archive_builder_builder,
2650
2661
codegen_results,
2651
2662
tmpdir,
@@ -2662,6 +2673,7 @@ fn add_upstream_rust_crates<'a>(
2662
2673
fn add_upstream_native_libraries (
2663
2674
cmd : & mut dyn Linker ,
2664
2675
sess : & Session ,
2676
+ flavor : LinkerFlavor ,
2665
2677
archive_builder_builder : & dyn ArchiveBuilderBuilder ,
2666
2678
codegen_results : & CodegenResults ,
2667
2679
tmpdir : & Path ,
@@ -2686,6 +2698,7 @@ fn add_upstream_native_libraries(
2686
2698
add_native_libs_from_crate (
2687
2699
cmd,
2688
2700
sess,
2701
+ flavor,
2689
2702
archive_builder_builder,
2690
2703
codegen_results,
2691
2704
tmpdir,
0 commit comments