Fix dylib metadata writing

Rustc switched from flate2 to snappy
This commit is contained in:
bjorn3 2020-09-05 11:00:34 +02:00
parent 217b3818b7
commit 4bb25c3e4a
4 changed files with 3 additions and 32 deletions

28
Cargo.lock generated
View file

@ -1,11 +1,5 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "adler"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
[[package]]
name = "ahash"
version = "0.4.4"
@ -188,18 +182,6 @@ dependencies = [
"libc",
]
[[package]]
name = "flate2"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "766d0e77a2c1502169d4a93ff3b8c15a71fd946cd0126309752104e5f3c46d94"
dependencies = [
"cfg-if",
"crc32fast",
"libc",
"miniz_oxide",
]
[[package]]
name = "gcc"
version = "0.3.55"
@ -276,15 +258,6 @@ dependencies = [
"libc",
]
[[package]]
name = "miniz_oxide"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d7559a8a40d0f97e1edea3220f698f78b1c5ab67532e49f68fde3910323b722"
dependencies = [
"adler",
]
[[package]]
name = "object"
version = "0.21.1"
@ -366,7 +339,6 @@ dependencies = [
"cranelift-module",
"cranelift-object",
"cranelift-simplejit",
"flate2",
"gimli",
"hashbrown 0.9.0",
"indexmap",

View file

@ -24,7 +24,6 @@ indexmap = "1.0.2"
cfg-if = "0.1.10"
libloading = { version = "0.6.0", optional = true }
hashbrown = "0.9.0"
flate2 = "1.0.17"
# Uncomment to use local checkout of cranelift
#[patch."https://github.com/bytecodealliance/wasmtime/"]

View file

@ -11,6 +11,7 @@
#[cfg(feature = "jit")]
extern crate libc;
extern crate snap;
#[macro_use]
extern crate rustc_middle;
extern crate rustc_ast;

View file

@ -63,8 +63,7 @@ pub(crate) fn write_metadata<P: WriteMetadata>(
tcx: TyCtxt<'_>,
product: &mut P,
) -> EncodedMetadata {
use flate2::write::DeflateEncoder;
use flate2::Compression;
use snap::write::FrameEncoder;
use std::io::Write;
#[derive(PartialEq, Eq, PartialOrd, Ord)]
@ -101,7 +100,7 @@ pub(crate) fn write_metadata<P: WriteMetadata>(
assert!(kind == MetadataKind::Compressed);
let mut compressed = tcx.metadata_encoding_version();
DeflateEncoder::new(&mut compressed, Compression::fast())
FrameEncoder::new(&mut compressed)
.write_all(&metadata.raw_data)
.unwrap();