@@ -5,7 +5,7 @@ use crate::lint;
5
5
use crate :: search_paths:: SearchPath ;
6
6
use crate :: utils:: NativeLib ;
7
7
use rustc_errors:: LanguageIdentifier ;
8
- use rustc_target:: spec:: { CodeModel , LinkerFlavor , MergeFunctions , PanicStrategy , SanitizerSet } ;
8
+ use rustc_target:: spec:: { CodeModel , MergeFunctions , PanicStrategy , SanitizerSet } ;
9
9
use rustc_target:: spec:: {
10
10
RelocModel , RelroLevel , SplitDebuginfo , StackProtector , TargetTriple , TlsModel ,
11
11
} ;
@@ -383,7 +383,9 @@ mod desc {
383
383
"either a boolean (`yes`, `no`, `on`, `off`, etc), `checks`, or `nochecks`" ;
384
384
pub const parse_cfprotection: & str = "`none`|`no`|`n` (default), `branch`, `return`, or `full`|`yes`|`y` (equivalent to `branch` and `return`)" ;
385
385
pub const parse_strip: & str = "either `none`, `debuginfo`, or `symbols`" ;
386
- pub const parse_linker_flavor: & str = :: rustc_target:: spec:: LinkerFlavor :: one_of ( ) ;
386
+ pub const parse_linker_flavor: & str = "one of: `em`, `gcc`, `l4-bender`, `ld`, `msvc`, \
387
+ `ptx-linker`, `bpf-linker`, `wasm-ld`, `ld64.lld`, `ld.lld`, `lld-link`, \
388
+ or a `gcc:`-prefixed linker to use with the gcc flavor, like `gcc:lld` or `gcc:gold,`";
387
389
pub const parse_optimization_fuel: & str = "crate=integer" ;
388
390
pub const parse_mir_spanview: & str = "`statement` (default), `terminator`, or `block`" ;
389
391
pub const parse_instrument_coverage: & str =
@@ -760,8 +762,8 @@ mod parse {
760
762
true
761
763
}
762
764
763
- pub ( crate ) fn parse_linker_flavor ( slot : & mut Option < LinkerFlavor > , v : Option < & str > ) -> bool {
764
- match v. and_then ( LinkerFlavor :: from_str) {
765
+ pub ( crate ) fn parse_linker_flavor ( slot : & mut Option < LinkerFlavorCli > , v : Option < & str > ) -> bool {
766
+ match v. and_then ( |s| LinkerFlavorCli :: from_str ( s ) . ok ( ) ) {
765
767
Some ( lf) => * slot = Some ( lf) ,
766
768
_ => return false ,
767
769
}
@@ -1120,7 +1122,7 @@ options! {
1120
1122
on C toolchain installed in the system" ) ,
1121
1123
linker: Option <PathBuf > = ( None , parse_opt_pathbuf, [ UNTRACKED ] ,
1122
1124
"system linker to link outputs with" ) ,
1123
- linker_flavor: Option <LinkerFlavor > = ( None , parse_linker_flavor, [ UNTRACKED ] ,
1125
+ linker_flavor: Option <LinkerFlavorCli > = ( None , parse_linker_flavor, [ UNTRACKED ] ,
1124
1126
"linker flavor" ) ,
1125
1127
linker_plugin_lto: LinkerPluginLto = ( LinkerPluginLto :: Disabled ,
1126
1128
parse_linker_plugin_lto, [ TRACKED ] ,
0 commit comments