diff options
| author | ragarnoy <[email protected]> | 2025-05-10 10:04:34 +0200 |
|---|---|---|
| committer | ragarnoy <[email protected]> | 2025-05-10 10:04:34 +0200 |
| commit | 04c0bd84e6043ac35d2a20f1f4a789ccf79bb316 (patch) | |
| tree | b0058edc2c0cca2425848ae1aea25dfb7e82a526 /examples/stm32h755cm4/src | |
| parent | d9befca44f3e35c14fef85744d19bbacc4a76de3 (diff) | |
fix release mode that was broken by lto and codegen units (there are probably things that can be done to be able to keep lto, I haven't found yet)
Diffstat (limited to 'examples/stm32h755cm4/src')
| -rw-r--r-- | examples/stm32h755cm4/src/bin/intercore.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/examples/stm32h755cm4/src/bin/intercore.rs b/examples/stm32h755cm4/src/bin/intercore.rs index 8f61c3eb2..3a66a1ecd 100644 --- a/examples/stm32h755cm4/src/bin/intercore.rs +++ b/examples/stm32h755cm4/src/bin/intercore.rs | |||
| @@ -45,7 +45,7 @@ mod shared { | |||
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | self.led_states.store(new_value, Ordering::SeqCst); | 47 | self.led_states.store(new_value, Ordering::SeqCst); |
| 48 | core::sync::atomic::compiler_fence(Ordering::SeqCst); | 48 | core::sync::atomic::fence(Ordering::SeqCst); |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | /// Get LED state using safe bit operations | 51 | /// Get LED state using safe bit operations |
| @@ -54,7 +54,7 @@ mod shared { | |||
| 54 | let bit = if is_green { GREEN_LED_BIT } else { YELLOW_LED_BIT }; | 54 | let bit = if is_green { GREEN_LED_BIT } else { YELLOW_LED_BIT }; |
| 55 | 55 | ||
| 56 | let value = self.led_states.load(Ordering::SeqCst); | 56 | let value = self.led_states.load(Ordering::SeqCst); |
| 57 | core::sync::atomic::compiler_fence(Ordering::SeqCst); | 57 | core::sync::atomic::fence(Ordering::SeqCst); |
| 58 | 58 | ||
| 59 | (value & (1 << bit)) != 0 | 59 | (value & (1 << bit)) != 0 |
| 60 | } | 60 | } |
| @@ -66,7 +66,7 @@ mod shared { | |||
| 66 | let current = self.counter.load(Ordering::SeqCst); | 66 | let current = self.counter.load(Ordering::SeqCst); |
| 67 | let new_value = current.wrapping_add(1); | 67 | let new_value = current.wrapping_add(1); |
| 68 | self.counter.store(new_value, Ordering::SeqCst); | 68 | self.counter.store(new_value, Ordering::SeqCst); |
| 69 | core::sync::atomic::compiler_fence(Ordering::SeqCst); | 69 | core::sync::atomic::fence(Ordering::SeqCst); |
| 70 | new_value | 70 | new_value |
| 71 | } | 71 | } |
| 72 | 72 | ||
| @@ -74,7 +74,7 @@ mod shared { | |||
| 74 | #[inline(never)] | 74 | #[inline(never)] |
| 75 | pub fn get_counter(&self) -> u32 { | 75 | pub fn get_counter(&self) -> u32 { |
| 76 | let value = self.counter.load(Ordering::SeqCst); | 76 | let value = self.counter.load(Ordering::SeqCst); |
| 77 | core::sync::atomic::compiler_fence(Ordering::SeqCst); | 77 | core::sync::atomic::fence(Ordering::SeqCst); |
| 78 | value | 78 | value |
| 79 | } | 79 | } |
| 80 | } | 80 | } |
