From 17e8f64e9467d84cfb32f964d0ca7fc72e2ec194 Mon Sep 17 00:00:00 2001 From: Jason White Date: Thu, 8 Feb 2024 20:02:47 -0800 Subject: [PATCH] Fix broken test after toolchain update Summary: These tests did unaligned reads/writes, which can produce a `SIGABRT` instead of a `SIGSEGV`. Simply align the reads/writes to 8 bytes to fix the tests. Reviewed By: JakobDegen, dtolnay Differential Revision: D53597637 fbshipit-source-id: e2ede420b6249223569af6d89d43a47438967ced --- tests/basics.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/basics.rs b/tests/basics.rs index c74a095..8e7fd3a 100644 --- a/tests/basics.rs +++ b/tests/basics.rs @@ -231,8 +231,8 @@ fn i_should_segfault() { use reverie_ptrace::testing::test_fn; let (output, _) = test_fn::(|| { unsafe { - let invalid_ptr = 0x5u64 as *mut u64; - invalid_ptr.write(0xdeadbeefu64); + let invalid_ptr = 0x8u64 as *mut u64; + invalid_ptr.write_volatile(0xdeadbeefu64); }; }) .unwrap(); @@ -246,8 +246,8 @@ fn i_should_segfault_2() { use reverie_ptrace::testing::test_fn; pub fn do_segfault() { - let invalid_ptr = 0x1234 as *const usize; - let result = unsafe { invalid_ptr.read() }; + let invalid_ptr = 0x8u64 as *const usize; + let result = unsafe { invalid_ptr.read_volatile() }; // Print so the above doesn't get optimized out. We will never get here // because the above segfaults. println!("{}", result);