use crate::rustc::ty::query::Providers;
use crate::rustc_codegen_utils::codegen_backend::CodegenBackend;
use crate::rustc_codegen_utils::link::out_filename;
-use crate::rustc_data_structures::svh::Svh;
use crate::syntax::symbol::Symbol;
use cranelift::codegen::settings;
pub use crate::common::*;
pub use crate::Caches;
- pub fn should_codegen(sess: &Session) -> bool {
+ pub fn should_codegen(_sess: &Session) -> bool {
true
//::std::env::var("SHOULD_CODEGEN").is_ok()
// || sess.crate_types.get().contains(&CrateType::Executable)
product: cranelift_faerie::FaerieProduct,
metadata: Vec<u8>,
crate_name: Symbol,
- crate_hash: Svh,
}
impl CodegenBackend for CraneliftCodegenBackend {
product: faerie_module.finish(),
metadata: metadata.raw_data,
crate_name: tcx.crate_name(LOCAL_CRATE),
- crate_hash: tcx.crate_hash(LOCAL_CRATE),
});
}
}
let artifact = ongoing_codegen.product.artifact;
let metadata = ongoing_codegen.metadata;
- let metadata_name =
- ".rustc.clif_metadata".to_string() + &ongoing_codegen.crate_hash.to_string();
/*
artifact
.declare_with(
builder
.append(
&ar::Header::new(
- metadata_name.as_bytes().to_vec(),
+ metadata::METADATA_FILE.to_vec(),
metadata.len() as u64,
),
::std::io::Cursor::new(metadata.clone()),
use std::fs::File;
use std::path::Path;
+pub const METADATA_FILE: &'static [u8] = b"rust.metadata.bin" as &[u8];
+
pub struct CraneliftMetadataLoader;
impl MetadataLoader for CraneliftMetadataLoader {
let mut entry = entry_result.map_err(|e| format!("{:?}", e))?;
if entry
.header()
- .identifier()
- .starts_with(b".rustc.clif_metadata")
+ .identifier() == METADATA_FILE
{
let mut buf = Vec::new();
::std::io::copy(&mut entry, &mut buf).map_err(|e| format!("{:?}", e))?;