Skip to content

Commit 6064b33

Browse files
authored
Switch to rustc's archive builder (#2459)
1 parent a82caa0 commit 6064b33

File tree

5 files changed

+5
-103
lines changed

5 files changed

+5
-103
lines changed

Cargo.lock

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,6 @@ version = "1.0.71"
9898
source = "registry+https://github.com/rust-lang/crates.io-index"
9999
checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
100100

101-
[[package]]
102-
name = "ar"
103-
version = "0.9.0"
104-
source = "registry+https://github.com/rust-lang/crates.io-index"
105-
checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69"
106-
107101
[[package]]
108102
name = "atty"
109103
version = "0.2.14"
@@ -558,7 +552,6 @@ dependencies = [
558552
name = "kani-compiler"
559553
version = "0.28.0"
560554
dependencies = [
561-
"ar",
562555
"atty",
563556
"clap",
564557
"cprover_bindings",

kani-compiler/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ license = "MIT OR Apache-2.0"
99
publish = false
1010

1111
[dependencies]
12-
ar = { version = "0.9.0", optional = true }
1312
atty = "0.2.14"
1413
cbmc = { path = "../cprover_bindings", package = "cprover_bindings", optional = true }
1514
clap = { version = "4.1.3", features = ["cargo"] }
@@ -34,7 +33,7 @@ tracing-tree = "0.2.2"
3433
# Future proofing: enable backend dependencies using feature.
3534
[features]
3635
default = ['cprover']
37-
cprover = ['ar', 'cbmc', 'libc', 'num', 'object', 'serde',
36+
cprover = ['cbmc', 'libc', 'num', 'object', 'serde',
3837
'serde_json', "strum", "strum_macros"]
3938
write_json_symtab = []
4039

kani-compiler/src/codegen_cprover_gotoc/archive.rs

Lines changed: 0 additions & 91 deletions
This file was deleted.

kani-compiler/src/codegen_cprover_gotoc/compiler_interface.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
//! This file contains the code necessary to interface with the compiler backend
55
6-
use crate::codegen_cprover_gotoc::archive::ArchiveBuilder;
76
use crate::codegen_cprover_gotoc::GotocCtx;
87
use crate::kani_middle::analysis;
98
use crate::kani_middle::attributes::is_proof_harness;
@@ -24,6 +23,9 @@ use kani_metadata::CompilerArtifactStub;
2423
use kani_metadata::UnsupportedFeature;
2524
use kani_metadata::{ArtifactType, HarnessMetadata, KaniMetadata};
2625
use kani_queries::{QueryDb, ReachabilityType, UserInput};
26+
use rustc_codegen_ssa::back::archive::{
27+
get_native_object_symbols, ArArchiveBuilder, ArchiveBuilder,
28+
};
2729
use rustc_codegen_ssa::back::metadata::create_wrapper_file;
2830
use rustc_codegen_ssa::traits::CodegenBackend;
2931
use rustc_codegen_ssa::{CodegenResults, CrateInfo};
@@ -338,7 +340,7 @@ impl CodegenBackend for GotocCodegenBackend {
338340
debug!(?crate_type, ?out_path, "link");
339341
if *crate_type == CrateType::Rlib {
340342
// Emit the `rlib` that contains just one file: `<crate>.rmeta`
341-
let mut builder = ArchiveBuilder::new(sess);
343+
let mut builder = Box::new(ArArchiveBuilder::new(sess, get_native_object_symbols));
342344
let tmp_dir = TempFileBuilder::new().prefix("kani").tempdir().unwrap();
343345
let path = MaybeTempDir::new(tmp_dir, sess.opts.cg.save_temps);
344346
let (metadata, _metadata_position) = create_wrapper_file(

kani-compiler/src/codegen_cprover_gotoc/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// Copyright Kani Contributors
22
// SPDX-License-Identifier: Apache-2.0 OR MIT
3-
mod archive;
43
mod codegen;
54
mod compiler_interface;
65
mod context;

0 commit comments

Comments
 (0)