@@ -5,7 +5,7 @@ use crate::lint;
55use crate :: search_paths:: SearchPath ;
66use crate :: utils:: NativeLib ;
77use rustc_errors:: LanguageIdentifier ;
8- use rustc_target:: spec:: { CodeModel , LinkerFlavor , MergeFunctions , PanicStrategy , SanitizerSet } ;
8+ use rustc_target:: spec:: { CodeModel , MergeFunctions , PanicStrategy , SanitizerSet } ;
99use rustc_target:: spec:: {
1010 RelocModel , RelroLevel , SplitDebuginfo , StackProtector , TargetTriple , TlsModel ,
1111} ;
@@ -385,7 +385,9 @@ mod desc {
385385 "either a boolean (`yes`, `no`, `on`, `off`, etc), `checks`, or `nochecks`" ;
386386 pub const parse_cfprotection: & str = "`none`|`no`|`n` (default), `branch`, `return`, or `full`|`yes`|`y` (equivalent to `branch` and `return`)" ;
387387 pub const parse_strip: & str = "either `none`, `debuginfo`, or `symbols`" ;
388- pub const parse_linker_flavor: & str = :: rustc_target:: spec:: LinkerFlavor :: one_of ( ) ;
388+ pub const parse_linker_flavor: & str = "one of: `em`, `gcc`, `l4-bender`, `ld`, `msvc`, \
389+ `ptx-linker`, `bpf-linker`, `wasm-ld`, `ld64.lld`, `ld.lld`, `lld-link`, \
390+ or a `gcc:`-prefixed linker to use with the gcc flavor, like `gcc:lld` or `gcc:gold,`";
389391 pub const parse_optimization_fuel: & str = "crate=integer" ;
390392 pub const parse_mir_spanview: & str = "`statement` (default), `terminator`, or `block`" ;
391393 pub const parse_instrument_coverage: & str =
@@ -754,8 +756,8 @@ mod parse {
754756 true
755757 }
756758
757- crate fn parse_linker_flavor ( slot : & mut Option < LinkerFlavor > , v : Option < & str > ) -> bool {
758- match v. and_then ( LinkerFlavor :: from_str) {
759+ crate fn parse_linker_flavor ( slot : & mut Option < LinkerFlavorCli > , v : Option < & str > ) -> bool {
760+ match v. and_then ( |s| LinkerFlavorCli :: from_str ( s ) . ok ( ) ) {
759761 Some ( lf) => * slot = Some ( lf) ,
760762 _ => return false ,
761763 }
@@ -1113,7 +1115,7 @@ options! {
11131115 on C toolchain installed in the system" ) ,
11141116 linker: Option <PathBuf > = ( None , parse_opt_pathbuf, [ UNTRACKED ] ,
11151117 "system linker to link outputs with" ) ,
1116- linker_flavor: Option <LinkerFlavor > = ( None , parse_linker_flavor, [ UNTRACKED ] ,
1118+ linker_flavor: Option <LinkerFlavorCli > = ( None , parse_linker_flavor, [ UNTRACKED ] ,
11171119 "linker flavor" ) ,
11181120 linker_plugin_lto: LinkerPluginLto = ( LinkerPluginLto :: Disabled ,
11191121 parse_linker_plugin_lto, [ TRACKED ] ,
0 commit comments