about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/back
diff options
context:
space:
mode:
authorRune Tynan <runetynan@gmail.com>2023-02-13 12:50:45 -0500
committerRune Tynan <runetynan@gmail.com>2023-02-20 13:38:16 -0500
commitdce3947110a73efebb756242d5c775a3ddad32a9 (patch)
tree2de9fe1d7f5276f3f8d174e7b370a168510ccd80 /compiler/rustc_codegen_ssa/src/back
parent267cd1d2c5abf5f0d825822a4179ba807b69ffb4 (diff)
downloadrust-dce3947110a73efebb756242d5c775a3ddad32a9.tar.gz
rust-dce3947110a73efebb756242d5c775a3ddad32a9.zip
Try adding metadata length prefix, and obey it while decoding
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back')
-rw-r--r--compiler/rustc_codegen_ssa/src/back/metadata.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/metadata.rs b/compiler/rustc_codegen_ssa/src/back/metadata.rs
index 7d3c14fec5f..190cd69a0e9 100644
--- a/compiler/rustc_codegen_ssa/src/back/metadata.rs
+++ b/compiler/rustc_codegen_ssa/src/back/metadata.rs
@@ -305,6 +305,7 @@ pub fn create_compressed_metadata_file(
     symbol_name: &str,
 ) -> Vec<u8> {
     let mut compressed = rustc_metadata::METADATA_HEADER.to_vec();
+    compressed.write_all(&(metadata.raw_data().len() as u32).to_be_bytes()).unwrap();
     FrameEncoder::new(&mut compressed).write_all(metadata.raw_data()).unwrap();
     let Some(mut file) = create_object_file(sess) else {
         return compressed.to_vec();