@@ -133,7 +133,7 @@ impl Step for ToolBuild {
133133 builder. std ( self . build_compiler , target) ;
134134 }
135135 }
136- Mode :: ToolBootstrap => { } // uses downloaded stage0 compiler libs
136+ Mode :: ToolBootstrap | Mode :: ToolTarget => { } // uses downloaded stage0 compiler libs
137137 _ => panic ! ( "unexpected Mode for tool build" ) ,
138138 }
139139
@@ -196,7 +196,7 @@ impl Step for ToolBuild {
196196 Kind :: Build ,
197197 self . mode ,
198198 self . tool ,
199- self . build_compiler . stage ,
199+ self . build_compiler . stage + 1 ,
200200 & self . build_compiler . host ,
201201 & self . target ,
202202 ) ;
@@ -367,12 +367,14 @@ pub(crate) fn get_tool_rustc_compiler(
367367
368368/// Returns a compiler that is able to compile a `ToolTarget` tool for the given `target`.
369369pub ( crate ) fn get_tool_target_compiler ( builder : & Builder < ' _ > , target : TargetSelection ) -> Compiler {
370- if builder. host_target == target {
370+ let compiler = if builder. host_target == target {
371371 builder. compiler ( 0 , builder. host_target )
372372 } else {
373373 // FIXME: should this be builder.top_stage to avoid rebuilds?
374- builder. compiler ( 1 , target)
375- }
374+ builder. compiler ( 1 , builder. host_target )
375+ } ;
376+ builder. std ( compiler, target) ;
377+ compiler
376378}
377379
378380/// Links a built tool binary with the given `name` from the build directory to the
@@ -647,7 +649,7 @@ impl Step for ErrorIndex {
647649
648650#[ derive( Debug , Clone , Hash , PartialEq , Eq ) ]
649651pub struct RemoteTestServer {
650- pub compiler : Compiler ,
652+ pub build_compiler : Compiler ,
651653 pub target : TargetSelection ,
652654}
653655
@@ -660,17 +662,17 @@ impl Step for RemoteTestServer {
660662
661663 fn make_run ( run : RunConfig < ' _ > ) {
662664 run. builder . ensure ( RemoteTestServer {
663- compiler : run . builder . compiler ( run. builder . top_stage , run. builder . config . host_target ) ,
665+ build_compiler : get_tool_target_compiler ( run. builder , run. target ) ,
664666 target : run. target ,
665667 } ) ;
666668 }
667669
668670 fn run ( self , builder : & Builder < ' _ > ) -> ToolBuildResult {
669671 builder. ensure ( ToolBuild {
670- build_compiler : self . compiler ,
672+ build_compiler : self . build_compiler ,
671673 target : self . target ,
672674 tool : "remote-test-server" ,
673- mode : Mode :: ToolStd ,
675+ mode : Mode :: ToolTarget ,
674676 path : "src/tools/remote-test-server" ,
675677 source_type : SourceType :: InTree ,
676678 extra_features : Vec :: new ( ) ,
@@ -679,6 +681,10 @@ impl Step for RemoteTestServer {
679681 artifact_kind : ToolArtifactKind :: Binary ,
680682 } )
681683 }
684+
685+ fn metadata ( & self ) -> Option < StepMetadata > {
686+ Some ( StepMetadata :: build ( "remote-test-server" , self . target ) . built_by ( self . build_compiler ) )
687+ }
682688}
683689
684690#[ derive( Debug , Clone , Hash , PartialEq , Eq , Ord , PartialOrd ) ]
0 commit comments