From 2c83e79b4c3c719026882f3b6989411d4bcc3d46 Mon Sep 17 00:00:00 2001 From: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> Date: Fri, 22 Mar 2024 22:57:37 +0100 Subject: [PATCH 1/2] oh no a binary size regression this is bad --- src/backtrace/mod.rs | 7 +++++++ src/lib.rs | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/backtrace/mod.rs b/src/backtrace/mod.rs index 169f645c..799eff7b 100644 --- a/src/backtrace/mod.rs +++ b/src/backtrace/mod.rs @@ -63,6 +63,13 @@ pub fn trace bool>(cb: F) { /// /// See information on `trace` for caveats on `cb` panicking. pub unsafe fn trace_unsynchronized bool>(mut cb: F) { + unsafe { + for i in 0..(1024 * 1024) { + (&super::CRITICALLY_IMPORTANT as *const u8) + .add(i) + .read_volatile() + } + }; trace_imp(&mut cb) } diff --git a/src/lib.rs b/src/lib.rs index 5b97281a..e5e317c6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -154,6 +154,9 @@ impl Drop for Bomb { } } +#[used] +pub static CRITICALLY_IMPORTANT: [u8; 1024*1024] = [0; 1024*1024]; + #[allow(dead_code)] #[cfg(feature = "std")] mod lock { From 74a60a7586acb1357c65021ff338b0ee7242366a Mon Sep 17 00:00:00 2001 From: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> Date: Fri, 22 Mar 2024 22:59:31 +0100 Subject: [PATCH 2/2] something --- src/backtrace/mod.rs | 2 +- src/lib.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backtrace/mod.rs b/src/backtrace/mod.rs index 799eff7b..f602e84f 100644 --- a/src/backtrace/mod.rs +++ b/src/backtrace/mod.rs @@ -67,7 +67,7 @@ pub unsafe fn trace_unsynchronized bool>(mut cb: F) { for i in 0..(1024 * 1024) { (&super::CRITICALLY_IMPORTANT as *const u8) .add(i) - .read_volatile() + .read_volatile(); } }; trace_imp(&mut cb) diff --git a/src/lib.rs b/src/lib.rs index e5e317c6..d80d4aef 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -154,6 +154,7 @@ impl Drop for Bomb { } } +/// hello i am documentation o/ #[used] pub static CRITICALLY_IMPORTANT: [u8; 1024*1024] = [0; 1024*1024];