@@ -2136,6 +2136,7 @@ fn linker_with_args<'a>(
21362136 add_local_native_libraries (
21372137 cmd,
21382138 sess,
2139+ flavor,
21392140 archive_builder_builder,
21402141 codegen_results,
21412142 tmpdir,
@@ -2146,6 +2147,7 @@ fn linker_with_args<'a>(
21462147 add_upstream_rust_crates (
21472148 cmd,
21482149 sess,
2150+ flavor,
21492151 archive_builder_builder,
21502152 codegen_results,
21512153 crate_type,
@@ -2157,6 +2159,7 @@ fn linker_with_args<'a>(
21572159 add_upstream_native_libraries (
21582160 cmd,
21592161 sess,
2162+ flavor,
21602163 archive_builder_builder,
21612164 codegen_results,
21622165 tmpdir,
@@ -2411,6 +2414,7 @@ fn collect_natvis_visualizers(
24112414fn add_native_libs_from_crate (
24122415 cmd : & mut dyn Linker ,
24132416 sess : & Session ,
2417+ flavor : LinkerFlavor ,
24142418 archive_builder_builder : & dyn ArchiveBuilderBuilder ,
24152419 codegen_results : & CodegenResults ,
24162420 tmpdir : & Path ,
@@ -2522,7 +2526,10 @@ fn add_native_libs_from_crate(
25222526 NativeLibKind :: WasmImportModule => { }
25232527 NativeLibKind :: LinkArg => {
25242528 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) ;
25262533 }
25272534 }
25282535 }
@@ -2532,6 +2539,7 @@ fn add_native_libs_from_crate(
25322539fn add_local_native_libraries (
25332540 cmd : & mut dyn Linker ,
25342541 sess : & Session ,
2542+ flavor : LinkerFlavor ,
25352543 archive_builder_builder : & dyn ArchiveBuilderBuilder ,
25362544 codegen_results : & CodegenResults ,
25372545 tmpdir : & Path ,
@@ -2557,6 +2565,7 @@ fn add_local_native_libraries(
25572565 add_native_libs_from_crate (
25582566 cmd,
25592567 sess,
2568+ flavor,
25602569 archive_builder_builder,
25612570 codegen_results,
25622571 tmpdir,
@@ -2572,6 +2581,7 @@ fn add_local_native_libraries(
25722581fn add_upstream_rust_crates < ' a > (
25732582 cmd : & mut dyn Linker ,
25742583 sess : & ' a Session ,
2584+ flavor : LinkerFlavor ,
25752585 archive_builder_builder : & dyn ArchiveBuilderBuilder ,
25762586 codegen_results : & CodegenResults ,
25772587 crate_type : CrateType ,
@@ -2646,6 +2656,7 @@ fn add_upstream_rust_crates<'a>(
26462656 add_native_libs_from_crate (
26472657 cmd,
26482658 sess,
2659+ flavor,
26492660 archive_builder_builder,
26502661 codegen_results,
26512662 tmpdir,
@@ -2662,6 +2673,7 @@ fn add_upstream_rust_crates<'a>(
26622673fn add_upstream_native_libraries (
26632674 cmd : & mut dyn Linker ,
26642675 sess : & Session ,
2676+ flavor : LinkerFlavor ,
26652677 archive_builder_builder : & dyn ArchiveBuilderBuilder ,
26662678 codegen_results : & CodegenResults ,
26672679 tmpdir : & Path ,
@@ -2686,6 +2698,7 @@ fn add_upstream_native_libraries(
26862698 add_native_libs_from_crate (
26872699 cmd,
26882700 sess,
2701+ flavor,
26892702 archive_builder_builder,
26902703 codegen_results,
26912704 tmpdir,
0 commit comments