1
Fork 0

Don't compress dylib metadata

This commit is contained in:
bjorn3 2023-07-15 10:03:48 +00:00
parent 008be2d7b6
commit 52853c2694
4 changed files with 21 additions and 22 deletions

View file

@ -10,8 +10,6 @@ use object::{
ObjectSymbol, SectionFlags, SectionKind, SymbolFlags, SymbolKind, SymbolScope,
};
use snap::write::FrameEncoder;
use rustc_data_structures::memmap::Mmap;
use rustc_data_structures::owned_slice::{try_slice_owned, OwnedSlice};
use rustc_metadata::fs::METADATA_FILENAME;
@ -482,12 +480,8 @@ pub fn create_compressed_metadata_file(
symbol_name: &str,
) -> Vec<u8> {
let mut compressed = rustc_metadata::METADATA_HEADER.to_vec();
// Our length will be backfilled once we're done writing
compressed.write_all(&[0; 4]).unwrap();
FrameEncoder::new(&mut compressed).write_all(metadata.raw_data()).unwrap();
let meta_len = rustc_metadata::METADATA_HEADER.len();
let data_len = (compressed.len() - meta_len - 4) as u32;
compressed[meta_len..meta_len + 4].copy_from_slice(&data_len.to_be_bytes());
compressed.write_all(&(metadata.raw_data().len() as u32).to_be_bytes()).unwrap();
compressed.extend(metadata.raw_data());
let Some(mut file) = create_object_file(sess) else {
return compressed.to_vec();