From 80112820fdb887eaff93a811e33e985e0c93c36a Mon Sep 17 00:00:00 2001 From: hyd-dev Date: Sun, 14 Feb 2021 02:02:21 +0800 Subject: [PATCH 1/3] [cargo-miri] Don't skip `rlib` crates --- cargo-miri/bin.rs | 13 +++++-------- test-cargo-miri/Cargo.lock | 7 +++++++ test-cargo-miri/Cargo.toml | 1 + test-cargo-miri/rlib-dep/Cargo.toml | 8 ++++++++ test-cargo-miri/rlib-dep/src/lib.rs | 3 +++ test-cargo-miri/src/lib.rs | 2 +- 6 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 test-cargo-miri/rlib-dep/Cargo.toml create mode 100644 test-cargo-miri/rlib-dep/src/lib.rs diff --git a/cargo-miri/bin.rs b/cargo-miri/bin.rs index 21a6b68c61..f38e79732b 100644 --- a/cargo-miri/bin.rs +++ b/cargo-miri/bin.rs @@ -596,16 +596,13 @@ fn phase_cargo_rustc(args: env::Args) { let target_crate = is_target_crate(); let print = get_arg_flag_value("--print").is_some(); // whether this is cargo passing `--print` to get some infos - // rlib and cdylib are just skipped, we cannot interpret them and do not need them + // cdylib is just skipped, we cannot interpret it and do not need it // for the rest of the build either. - match get_arg_flag_value("--crate-type").as_deref() { - Some("rlib") | Some("cdylib") => { - if verbose { - eprint!("[cargo-miri rustc] (rlib/cdylib skipped)"); - } - return; + if get_arg_flag_value("--crate-type").as_deref() == Some("cdylib") { + if verbose { + eprint!("[cargo-miri rustc] (cdylib skipped)"); } - _ => {}, + return; } let store_json = |info: CrateRunInfo| { diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock index e02439df5d..84b69f5733 100644 --- a/test-cargo-miri/Cargo.lock +++ b/test-cargo-miri/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "byteorder" version = "1.3.4" @@ -13,6 +15,7 @@ dependencies = [ "byteorder", "issue_1567", "rand", + "rlib-dep", "serde_derive", ] @@ -140,6 +143,10 @@ dependencies = [ "rand_core", ] +[[package]] +name = "rlib-dep" +version = "0.1.0" + [[package]] name = "serde_derive" version = "1.0.118" diff --git a/test-cargo-miri/Cargo.toml b/test-cargo-miri/Cargo.toml index 1613f067ed..ab44f6b304 100644 --- a/test-cargo-miri/Cargo.toml +++ b/test-cargo-miri/Cargo.toml @@ -9,6 +9,7 @@ edition = "2018" [dependencies] byteorder = "1.0" +rlib-dep.path = "rlib-dep" issue_1567 = { path ="issue-1567" } [dev-dependencies] diff --git a/test-cargo-miri/rlib-dep/Cargo.toml b/test-cargo-miri/rlib-dep/Cargo.toml new file mode 100644 index 0000000000..c12653e9c8 --- /dev/null +++ b/test-cargo-miri/rlib-dep/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "rlib-dep" +version = "0.1.0" +authors = ["Miri Team"] +edition = "2018" + +[lib] +crate-type = ["rlib"] diff --git a/test-cargo-miri/rlib-dep/src/lib.rs b/test-cargo-miri/rlib-dep/src/lib.rs new file mode 100644 index 0000000000..efde2b58e1 --- /dev/null +++ b/test-cargo-miri/rlib-dep/src/lib.rs @@ -0,0 +1,3 @@ +pub fn use_me() -> bool { + true +} diff --git a/test-cargo-miri/src/lib.rs b/test-cargo-miri/src/lib.rs index 4e2c8b572c..46d76bce12 100644 --- a/test-cargo-miri/src/lib.rs +++ b/test-cargo-miri/src/lib.rs @@ -3,5 +3,5 @@ /// assert!(cargo_miri_test::make_true()); /// ``` pub fn make_true() -> bool { - true + rlib_dep::use_me() } From 304cd3e4104551b990644265caf2954908679cd5 Mon Sep 17 00:00:00 2001 From: hyd-dev Date: Sun, 14 Feb 2021 19:08:47 +0800 Subject: [PATCH 2/3] Make the test more consistent with other tests --- test-cargo-miri/Cargo.lock | 10 +++++----- test-cargo-miri/Cargo.toml | 4 ++-- test-cargo-miri/{rlib-dep => issue-1691}/Cargo.toml | 2 +- test-cargo-miri/{rlib-dep => issue-1691}/src/lib.rs | 0 test-cargo-miri/src/lib.rs | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) rename test-cargo-miri/{rlib-dep => issue-1691}/Cargo.toml (83%) rename test-cargo-miri/{rlib-dep => issue-1691}/src/lib.rs (100%) diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock index 84b69f5733..63e03b37cc 100644 --- a/test-cargo-miri/Cargo.lock +++ b/test-cargo-miri/Cargo.lock @@ -14,8 +14,8 @@ version = "0.1.0" dependencies = [ "byteorder", "issue_1567", + "issue_1691", "rand", - "rlib-dep", "serde_derive", ] @@ -52,6 +52,10 @@ dependencies = [ "byteorder", ] +[[package]] +name = "issue_1691" +version = "0.1.0" + [[package]] name = "libc" version = "0.2.81" @@ -143,10 +147,6 @@ dependencies = [ "rand_core", ] -[[package]] -name = "rlib-dep" -version = "0.1.0" - [[package]] name = "serde_derive" version = "1.0.118" diff --git a/test-cargo-miri/Cargo.toml b/test-cargo-miri/Cargo.toml index ab44f6b304..c42d6753e8 100644 --- a/test-cargo-miri/Cargo.toml +++ b/test-cargo-miri/Cargo.toml @@ -9,8 +9,8 @@ edition = "2018" [dependencies] byteorder = "1.0" -rlib-dep.path = "rlib-dep" -issue_1567 = { path ="issue-1567" } +issue_1567 = { path = "issue-1567" } +issue_1691 = { path = "issue-1691" } [dev-dependencies] rand = { version = "0.7", features = ["small_rng"] } diff --git a/test-cargo-miri/rlib-dep/Cargo.toml b/test-cargo-miri/issue-1691/Cargo.toml similarity index 83% rename from test-cargo-miri/rlib-dep/Cargo.toml rename to test-cargo-miri/issue-1691/Cargo.toml index c12653e9c8..3100cc6a60 100644 --- a/test-cargo-miri/rlib-dep/Cargo.toml +++ b/test-cargo-miri/issue-1691/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "rlib-dep" +name = "issue_1691" version = "0.1.0" authors = ["Miri Team"] edition = "2018" diff --git a/test-cargo-miri/rlib-dep/src/lib.rs b/test-cargo-miri/issue-1691/src/lib.rs similarity index 100% rename from test-cargo-miri/rlib-dep/src/lib.rs rename to test-cargo-miri/issue-1691/src/lib.rs diff --git a/test-cargo-miri/src/lib.rs b/test-cargo-miri/src/lib.rs index 46d76bce12..b50dfbe51e 100644 --- a/test-cargo-miri/src/lib.rs +++ b/test-cargo-miri/src/lib.rs @@ -3,5 +3,5 @@ /// assert!(cargo_miri_test::make_true()); /// ``` pub fn make_true() -> bool { - rlib_dep::use_me() + issue_1691::use_me() } From 0737de86f760a35408088f19c45c0617ffed21d0 Mon Sep 17 00:00:00 2001 From: hyd-dev Date: Sun, 14 Feb 2021 19:09:22 +0800 Subject: [PATCH 3/3] Revert the lock file version change --- test-cargo-miri/Cargo.lock | 2 -- 1 file changed, 2 deletions(-) diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock index 63e03b37cc..a3a708c6b5 100644 --- a/test-cargo-miri/Cargo.lock +++ b/test-cargo-miri/Cargo.lock @@ -1,7 +1,5 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 - [[package]] name = "byteorder" version = "1.3.4"