public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Georgy Yakovlev" <gyakovlev@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/rust/, dev-lang/rust/files/
Date: Thu, 26 May 2022 16:36:16 +0000 (UTC)	[thread overview]
Message-ID: <1653582962.c55af828a1fb64a8937a939d3e84e80ada990ed6.gyakovlev@gentoo> (raw)

commit:     c55af828a1fb64a8937a939d3e84e80ada990ed6
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 16:02:38 2022 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> 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 <gyakovlev <AT> 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 <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!(),

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"


             reply	other threads:[~2022-05-26 16:36 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-26 16:36 Georgy Yakovlev [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-04-23 11:37 [gentoo-commits] repo/gentoo:master commit in: dev-lang/rust/, dev-lang/rust/files/ Matt Jolly
2024-12-08  7:04 Sam James
2024-11-03  6:06 Matt Jolly
2024-07-04  1:15 Sam James
2024-05-31 21:03 Sam James
2024-03-09  2:56 WANG Xuerui
2024-02-10  7:49 Sam James
2024-02-10  4:49 Sam James
2024-01-31 13:56 Matt Turner
2023-07-20  9:49 WANG Xuerui
2023-06-20 19:51 Georgy Yakovlev
2023-06-02  3:06 Georgy Yakovlev
2023-03-21  0:10 Georgy Yakovlev
2023-02-08 22:36 Georgy Yakovlev
2023-01-28 19:34 Georgy Yakovlev
2022-12-20  7:12 Georgy Yakovlev
2022-11-05  5:57 Georgy Yakovlev
2022-09-25  6:37 Georgy Yakovlev
2022-09-13 22:59 Georgy Yakovlev
2022-05-25 21:09 Georgy Yakovlev
2022-05-24 19:44 Georgy Yakovlev
2022-01-29 17:07 Georgy Yakovlev
2021-12-26  8:58 Georgy Yakovlev
2021-09-13 15:07 Georgy Yakovlev
2021-07-03  7:03 Georgy Yakovlev
2021-06-18  5:26 Georgy Yakovlev
2021-05-05 20:16 Georgy Yakovlev
2021-04-27 11:55 Georgy Yakovlev
2021-04-18 10:30 Georgy Yakovlev
2021-02-05 19:31 Georgy Yakovlev
2021-02-02 23:52 Georgy Yakovlev
2020-10-12  5:14 Georgy Yakovlev
2020-10-09  6:24 Georgy Yakovlev
2020-07-31  9:34 Georgy Yakovlev
2020-04-25  6:13 Georgy Yakovlev
2020-03-30 22:23 Georgy Yakovlev
2020-02-05  9:01 Georgy Yakovlev
2019-12-30  9:59 Georgy Yakovlev
2019-12-20  0:53 Georgy Yakovlev
2019-12-20  0:53 Georgy Yakovlev
2019-10-02 18:42 Georgy Yakovlev
2019-08-16  5:45 Georgy Yakovlev
2019-07-09 16:49 Georgy Yakovlev
2019-07-08 23:01 Georgy Yakovlev
2019-04-12  5:08 Georgy Yakovlev
2019-02-19  1:24 Thomas Deutschmann
2019-02-01  4:36 Georgy Yakovlev
2019-01-26  3:50 Georgy Yakovlev
2019-01-19 20:28 Thomas Deutschmann
2018-11-14 16:16 Dirkjan Ochtman
2018-05-14 14:41 Dirkjan Ochtman
2018-01-27 13:24 Dirkjan Ochtman
2016-11-08 18:44 Doug Goldstein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1653582962.c55af828a1fb64a8937a939d3e84e80ada990ed6.gyakovlev@gentoo \
    --to=gyakovlev@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox