@@ -184,7 +184,7 @@ impl CodegenBackend for CraneliftCodegenBackend {
184184 rustc_codegen_utils:: symbol_names:: provide ( providers) ;
185185 rustc_codegen_ssa:: back:: symbol_export:: provide ( providers) ;
186186
187- providers. target_features_whitelist = |_tcx , _cnum| Lrc :: new ( Default :: default ( ) ) ;
187+ providers. target_features_whitelist = |tcx , _cnum| tcx . arena . alloc ( FxHashMap :: default ( ) ) ;
188188 }
189189 fn provide_extern ( & self , providers : & mut Providers ) {
190190 rustc_codegen_ssa:: back:: symbol_export:: provide_extern ( providers) ;
@@ -226,6 +226,17 @@ impl CodegenBackend for CraneliftCodegenBackend {
226226 }
227227}
228228
229+ fn target_triple ( sess : & Session ) -> target_lexicon:: Triple {
230+ let mut target = & * sess. target . target . llvm_target ;
231+
232+ // FIXME add support for x86_64-apple-macosx10.7.0 to target-lexicon
233+ if target. starts_with ( "x86_64-apple-macosx" ) {
234+ target = "x86_64-apple-darwin" ;
235+ }
236+
237+ target. parse ( ) . unwrap ( )
238+ }
239+
229240fn build_isa ( sess : & Session ) -> Box < isa:: TargetIsa + ' static > {
230241 let mut flags_builder = settings:: builder ( ) ;
231242 flags_builder. enable ( "is_pic" ) . unwrap ( ) ;
@@ -252,8 +263,9 @@ fn build_isa(sess: &Session) -> Box<isa::TargetIsa + 'static> {
252263 }
253264 }*/
254265
266+ let target_triple = target_triple ( sess) ;
255267 let flags = settings:: Flags :: new ( flags_builder) ;
256- cranelift:: codegen:: isa:: lookup ( sess . target . target . llvm_target . parse ( ) . unwrap ( ) )
268+ cranelift:: codegen:: isa:: lookup ( target_triple )
257269 . unwrap ( )
258270 . finish ( flags)
259271}
0 commit comments