diff --git a/xtask/src/ci/rs.rs b/xtask/src/ci/rs.rs index 3be615aa16..09106dd9aa 100644 --- a/xtask/src/ci/rs.rs +++ b/xtask/src/ci/rs.rs @@ -57,15 +57,19 @@ impl Rs { self.cargo_build.features.push("hermit/smp".to_owned()); } - let mut cargo = crate::cargo(); + let mut rustflags = Vec::new(); if self.package.contains("rftrace") { - cargo.env( - "RUSTFLAGS", - "-Zinstrument-mcount -Cpasses=ee-instrument", - ); + rustflags.push("-Zinstrument-mcount"); + rustflags.push("-Cpasses=ee-instrument"); }; + let mut cargo = crate::cargo(); + + if !rustflags.is_empty() { + cargo.env("CARGO_ENCODED_RUSTFLAGS", rustflags.join("\x1f")); + } + cargo .current_dir(super::parent_root()) .arg("build")