From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 867F8158090 for ; Thu, 26 May 2022 16:36:20 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A4FD4E0769; Thu, 26 May 2022 16:36:19 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 83427E0769 for ; Thu, 26 May 2022 16:36:19 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5EAE6341228 for ; Thu, 26 May 2022 16:36:18 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id AD12348C for ; Thu, 26 May 2022 16:36:16 +0000 (UTC) From: "Georgy Yakovlev" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Georgy Yakovlev" Message-ID: <1653582962.c55af828a1fb64a8937a939d3e84e80ada990ed6.gyakovlev@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/rust/, dev-lang/rust/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lang/rust/files/1.61.0-miri-cow.patch dev-lang/rust/rust-1.61.0-r1.ebuild X-VCS-Directories: dev-lang/rust/ dev-lang/rust/files/ X-VCS-Committer: gyakovlev X-VCS-Committer-Name: Georgy Yakovlev X-VCS-Revision: c55af828a1fb64a8937a939d3e84e80ada990ed6 X-VCS-Branch: master Date: Thu, 26 May 2022 16:36:16 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: d2dd5dbb-37e2-4faf-a2a8-a8e9118deb0d X-Archives-Hash: cea967557944d484d7910f3143655775 commit: c55af828a1fb64a8937a939d3e84e80ada990ed6 Author: Georgy Yakovlev gentoo org> AuthorDate: Thu May 26 16:02:38 2022 +0000 Commit: Georgy Yakovlev gentoo org> CommitDate: Thu May 26 16:36:02 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c55af828 dev-lang/rust: add miri patch to 1.61.0-r1 PR: https://github.com/gentoo/gentoo/pull/25638 Signed-off-by: Georgy Yakovlev gentoo.org> dev-lang/rust/files/1.61.0-miri-cow.patch | 98 +++++++++++++++++++++++++++++++ dev-lang/rust/rust-1.61.0-r1.ebuild | 1 + 2 files changed, 99 insertions(+) diff --git a/dev-lang/rust/files/1.61.0-miri-cow.patch b/dev-lang/rust/files/1.61.0-miri-cow.patch new file mode 100644 index 000000000000..fc469731e4f7 --- /dev/null +++ b/dev-lang/rust/files/1.61.0-miri-cow.patch @@ -0,0 +1,98 @@ +From 830cc58f8a10598f4caa337ca97be51741945499 Mon Sep 17 00:00:00 2001 +From: Ralf Jung +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, + forwarded_env_vars: Vec, + ) -> 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!(), diff --git a/dev-lang/rust/rust-1.61.0-r1.ebuild b/dev-lang/rust/rust-1.61.0-r1.ebuild index f8852b27e97e..2e877f2f2bdd 100644 --- a/dev-lang/rust/rust-1.61.0-r1.ebuild +++ b/dev-lang/rust/rust-1.61.0-r1.ebuild @@ -158,6 +158,7 @@ PATCHES=( "${FILESDIR}"/1.61.0-gentoo-musl-target-specs.patch "${FILESDIR}"/1.61.0-llvm_selectInterleaveCount.patch "${FILESDIR}"/1.61.0-llvm_addrspacecast.patch + "${FILESDIR}"/1.61.0-miri-cow.patch ) S="${WORKDIR}/${MY_P}-src"