commit
fc2165dd78
@ -1 +1 @@
|
||||
297a8018b525c28ef10ee6a91d61954839b508b9
|
||||
6af09d2505f38e4f1df291df56d497fb2ad935ed
|
||||
|
@ -510,7 +510,7 @@ fn set_last_error_from_io_error(&mut self, err_kind: std::io::ErrorKind) -> Inte
|
||||
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 @@ fn set_last_error_from_io_error(&mut self, err_kind: std::io::ErrorKind) -> Inte
|
||||
)
|
||||
}
|
||||
})?
|
||||
} 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",
|
||||
|
@ -227,7 +227,7 @@ fn add_extern_static<'tcx, 'mir>(
|
||||
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(
|
||||
|
@ -41,7 +41,7 @@ pub(crate) fn init<'mir>(
|
||||
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());
|
||||
|
@ -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 @@ fn emulate_foreign_item_by_name(
|
||||
}
|
||||
|
||||
// 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),
|
||||
|
@ -462,7 +462,7 @@ fn emulate_foreign_item_by_name(
|
||||
|
||||
// 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!(),
|
||||
|
Loading…
Reference in New Issue
Block a user