From ab000997dbc597416c151e7879bb113c56146228 Mon Sep 17 00:00:00 2001
From: Ralf Jung <post@ralfj.de>
Date: Mon, 2 Dec 2019 11:02:11 +0100
Subject: [PATCH 1/2] use throw_machine_stop macro

---
 src/shims/foreign_items.rs | 3 +--
 src/shims/intrinsics.rs    | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/shims/foreign_items.rs b/src/shims/foreign_items.rs
index 52e04aea30..316cc686ad 100644
--- a/src/shims/foreign_items.rs
+++ b/src/shims/foreign_items.rs
@@ -154,8 +154,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
             "exit" | "ExitProcess" => {
                 // it's really u32 for ExitProcess, but we have to put it into the `Exit` variant anyway
                 let code = this.read_scalar(args[0])?.to_i32()?;
-                let ti = Box::new(TerminationInfo::Exit(code.into()));
-                return Err(InterpError::MachineStop(ti).into());
+                throw_machine_stop!(TerminationInfo::Exit(code.into()));
             }
             _ => {
                 if let Some(p) = ret {
diff --git a/src/shims/intrinsics.rs b/src/shims/intrinsics.rs
index 0cb51d5931..57b77a8b74 100644
--- a/src/shims/intrinsics.rs
+++ b/src/shims/intrinsics.rs
@@ -34,8 +34,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
         // Handle diverging intrinsics.
         let (dest, ret) = match intrinsic_name {
             "abort" => {
-                let ti = Box::new(TerminationInfo::Abort);
-                return Err(InterpError::MachineStop(ti).into());
+                throw_machine_stop!(TerminationInfo::Abort);
             }
             "miri_start_panic" => return this.handle_miri_start_panic(args, unwind),
             _ => {

From 07af5c9ffc458f34eb31fc338a3785a1c81fa04c Mon Sep 17 00:00:00 2001
From: Ralf Jung <post@ralfj.de>
Date: Tue, 3 Dec 2019 23:38:41 +0100
Subject: [PATCH 2/2] rustup

---
 rust-version | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rust-version b/rust-version
index e1047d816e..644ec5ed80 100644
--- a/rust-version
+++ b/rust-version
@@ -1 +1 @@
-f577b0ef6e637ab7a6095cdfe0b51fa3faf97050
+7afe6d9d1f48b998cc88fe6f01ba0082788ba4b9