diff --git a/README.md b/README.md index 5fbf89c86b9..c7a3200dbd9 100644 --- a/README.md +++ b/README.md @@ -282,9 +282,8 @@ environment variable. We first document the most relevant and most commonly used verbose. `hide` hides the warning entirely. * `-Zmiri-env-exclude=` keeps the `var` environment variable isolated from the host so that it cannot be accessed by the program. Can be used multiple times to exclude several variables. The - `TERM` environment variable is excluded by default to [speed up the test - harness](https://github.com/rust-lang/miri/issues/1702). This has no effect unless - `-Zmiri-disable-isolation` is also set. + `TERM` environment variable is excluded by default in Windows to prevent the libtest harness from + accessing the file system. This has no effect unless `-Zmiri-disable-isolation` is also set. * `-Zmiri-env-forward=` forwards the `var` environment variable to the interpreted program. Can be used multiple times to forward several variables. This takes precedence over `-Zmiri-env-exclude`: if a variable is both forwarded and exluced, it *will* get forwarded. This diff --git a/rust-version b/rust-version index 22daf00bd05..cac0155e3ce 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -1f5d8d49eb6111931091f700d07518cd2b80bc18 +93ab13b4e894ab74258c40aaf29872db2b17b6b4 diff --git a/src/shims/env.rs b/src/shims/env.rs index a9d19aeb9b8..084433fab74 100644 --- a/src/shims/env.rs +++ b/src/shims/env.rs @@ -42,10 +42,11 @@ pub(crate) fn init<'mir>( config: &MiriConfig, ) -> InterpResult<'tcx> { let target_os = ecx.tcx.sess.target.os.as_ref(); - // HACK: Exclude `TERM` var to avoid terminfo trying to open the termcap file. - // This is (a) very slow and (b) does not work on Windows. let mut excluded_env_vars = config.excluded_env_vars.clone(); - excluded_env_vars.push("TERM".to_owned()); + if target_os == "windows" { + // HACK: Exclude `TERM` var to avoid terminfo trying to open the termcap file. + excluded_env_vars.push("TERM".to_owned()); + } // Skip the loop entirely if we don't want to forward anything. if ecx.machine.communicate() || !config.forwarded_env_vars.is_empty() {