You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
5.1 KiB
99 lines
5.1 KiB
From 830cc58f8a10598f4caa337ca97be51741945499 Mon Sep 17 00:00:00 2001
|
|
From: Ralf Jung <post@ralfj.de>
|
|
Date: Sun, 3 Apr 2022 20:00:03 -0400
|
|
Subject: [PATCH] rustup
|
|
|
|
gyakovlev: changed paths and removed irrelevant bits
|
|
---
|
|
rust-version | 2 +-
|
|
src/helpers.rs | 4 ++--
|
|
src/machine.rs | 2 +-
|
|
src/shims/env.rs | 2 +-
|
|
src/shims/foreign_items.rs | 4 ++--
|
|
src/shims/posix/foreign_items.rs | 2 +-
|
|
6 files changed, 8 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/src/helpers.rs b/src/helpers.rs
|
|
index 3ffb983aa..7a63bb03d 100644
|
|
--- a/src/tools/miri/src/helpers.rs
|
|
+++ b/src/tools/miri/src/helpers.rs
|
|
@@ -510,7 +510,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
|
|
let this = self.eval_context_mut();
|
|
let target = &this.tcx.sess.target;
|
|
let target_os = &target.os;
|
|
- let last_error = if target.families.contains(&"unix".to_owned()) {
|
|
+ let last_error = if target.families.iter().any(|f| f == "unix") {
|
|
this.eval_libc(match err_kind {
|
|
ConnectionRefused => "ECONNREFUSED",
|
|
ConnectionReset => "ECONNRESET",
|
|
@@ -534,7 +534,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
|
|
)
|
|
}
|
|
})?
|
|
- } else if target.families.contains(&"windows".to_owned()) {
|
|
+ } else if target.families.iter().any(|f| f == "windows") {
|
|
// FIXME: we have to finish implementing the Windows equivalent of this.
|
|
this.eval_windows(
|
|
"c",
|
|
diff --git a/src/machine.rs b/src/machine.rs
|
|
index e9ed50724..b4b07a61a 100644
|
|
--- a/src/tools/miri/src/machine.rs
|
|
+++ b/src/tools/miri/src/machine.rs
|
|
@@ -227,7 +227,7 @@ impl MemoryExtra {
|
|
pub fn init_extern_statics<'tcx, 'mir>(
|
|
this: &mut MiriEvalContext<'mir, 'tcx>,
|
|
) -> InterpResult<'tcx> {
|
|
- match this.tcx.sess.target.os.as_str() {
|
|
+ match this.tcx.sess.target.os.as_ref() {
|
|
"linux" => {
|
|
// "environ"
|
|
Self::add_extern_static(
|
|
diff --git a/src/shims/env.rs b/src/shims/env.rs
|
|
index c2050647a..822bef56c 100644
|
|
--- a/src/tools/miri/src/shims/env.rs
|
|
+++ b/src/src/tools/miri/shims/env.rs
|
|
@@ -41,7 +41,7 @@ impl<'tcx> EnvVars<'tcx> {
|
|
mut excluded_env_vars: Vec<String>,
|
|
forwarded_env_vars: Vec<String>,
|
|
) -> InterpResult<'tcx> {
|
|
- let target_os = ecx.tcx.sess.target.os.as_str();
|
|
+ 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.
|
|
excluded_env_vars.push("TERM".to_owned());
|
|
diff --git a/src/shims/foreign_items.rs b/src/shims/foreign_items.rs
|
|
index ecffd310d..d9e4d9382 100644
|
|
--- a/src/tools/miri/src/shims/foreign_items.rs
|
|
+++ b/src/tools/miri/src/shims/foreign_items.rs
|
|
@@ -46,7 +46,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
|
|
fn min_align(&self, size: u64, kind: MiriMemoryKind) -> Align {
|
|
let this = self.eval_context_ref();
|
|
// List taken from `libstd/sys_common/alloc.rs`.
|
|
- let min_align = match this.tcx.sess.target.arch.as_str() {
|
|
+ let min_align = match this.tcx.sess.target.arch.as_ref() {
|
|
"x86" | "arm" | "mips" | "powerpc" | "powerpc64" | "asmjs" | "wasm32" => 8,
|
|
"x86_64" | "aarch64" | "mips64" | "s390x" | "sparc64" => 16,
|
|
arch => bug!("Unsupported target architecture: {}", arch),
|
|
@@ -695,7 +695,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
|
|
}
|
|
|
|
// Platform-specific shims
|
|
- _ => match this.tcx.sess.target.os.as_str() {
|
|
+ _ => match this.tcx.sess.target.os.as_ref() {
|
|
"linux" | "macos" => return shims::posix::foreign_items::EvalContextExt::emulate_foreign_item_by_name(this, link_name, abi, args, dest, ret),
|
|
"windows" => return shims::windows::foreign_items::EvalContextExt::emulate_foreign_item_by_name(this, link_name, abi, args, dest, ret),
|
|
target => throw_unsup_format!("the target `{}` is not supported", target),
|
|
diff --git a/src/shims/posix/foreign_items.rs b/src/shims/posix/foreign_items.rs
|
|
index 02fb7089c..36bf53059 100644
|
|
--- a/src/tools/miri/src/shims/posix/foreign_items.rs
|
|
+++ b/src/tools/miri/src/shims/posix/foreign_items.rs
|
|
@@ -462,7 +462,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
|
|
|
|
// Platform-specific shims
|
|
_ => {
|
|
- match this.tcx.sess.target.os.as_str() {
|
|
+ match this.tcx.sess.target.os.as_ref() {
|
|
"linux" => return shims::posix::linux::foreign_items::EvalContextExt::emulate_foreign_item_by_name(this, link_name, abi, args, dest, ret),
|
|
"macos" => return shims::posix::macos::foreign_items::EvalContextExt::emulate_foreign_item_by_name(this, link_name, abi, args, dest, ret),
|
|
_ => unreachable!(),
|