aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2021-01-07 17:17:08 +0000
committerGravatar GitHub <noreply@github.com> 2021-01-07 17:17:08 +0000
commit126165331e14f92809656a76dfa351e42dfa1a68 (patch)
tree17f95edcff7bec632886241169d8c7cd67711a19
parentdafbc4ebdc1ca44653e2bfb35b1512373fbcaccb (diff)
parent5bed907740253386c619285ab5e549572b150946 (diff)
downloadcortex-m-126165331e14f92809656a76dfa351e42dfa1a68.tar.gz
cortex-m-126165331e14f92809656a76dfa351e42dfa1a68.tar.zst
cortex-m-126165331e14f92809656a76dfa351e42dfa1a68.zip
Merge #311
311: Duplicate compiler fences around barrier instrs r=adamgreig a=jonas-schievink This should fix https://github.com/rust-embedded/cortex-m/issues/308 Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
-rw-r--r--asm/inline.rs3
-rw-r--r--bin/thumbv6m-none-eabi-lto.abin15860 -> 16012 bytes
-rw-r--r--bin/thumbv6m-none-eabi.abin18580 -> 18848 bytes
-rw-r--r--bin/thumbv7em-none-eabi-lto.abin20004 -> 20120 bytes
-rw-r--r--bin/thumbv7em-none-eabi.abin23008 -> 23280 bytes
-rw-r--r--bin/thumbv7em-none-eabihf-lto.abin20868 -> 20988 bytes
-rw-r--r--bin/thumbv7em-none-eabihf.abin24096 -> 24368 bytes
-rw-r--r--bin/thumbv7m-none-eabi-lto.abin18796 -> 18916 bytes
-rw-r--r--bin/thumbv7m-none-eabi.abin21840 -> 22112 bytes
-rw-r--r--bin/thumbv8m.base-none-eabi-lto.abin19136 -> 19296 bytes
-rw-r--r--bin/thumbv8m.base-none-eabi.abin22280 -> 22548 bytes
-rw-r--r--bin/thumbv8m.main-none-eabi-lto.abin23504 -> 23624 bytes
-rw-r--r--bin/thumbv8m.main-none-eabi.abin27664 -> 27936 bytes
-rw-r--r--bin/thumbv8m.main-none-eabihf-lto.abin24388 -> 24520 bytes
-rw-r--r--bin/thumbv8m.main-none-eabihf.abin28712 -> 28984 bytes
15 files changed, 3 insertions, 0 deletions
diff --git a/asm/inline.rs b/asm/inline.rs
index f2014f8..9150c9c 100644
--- a/asm/inline.rs
+++ b/asm/inline.rs
@@ -64,18 +64,21 @@ pub unsafe fn __delay(cyc: u32) {
#[inline(always)]
pub unsafe fn __dmb() {
+ compiler_fence(Ordering::SeqCst);
asm!("dmb");
compiler_fence(Ordering::SeqCst);
}
#[inline(always)]
pub unsafe fn __dsb() {
+ compiler_fence(Ordering::SeqCst);
asm!("dsb");
compiler_fence(Ordering::SeqCst);
}
#[inline(always)]
pub unsafe fn __isb() {
+ compiler_fence(Ordering::SeqCst);
asm!("isb");
compiler_fence(Ordering::SeqCst);
}
diff --git a/bin/thumbv6m-none-eabi-lto.a b/bin/thumbv6m-none-eabi-lto.a
index f3858a0..1b0e77a 100644
--- a/bin/thumbv6m-none-eabi-lto.a
+++ b/bin/thumbv6m-none-eabi-lto.a
Binary files differ
diff --git a/bin/thumbv6m-none-eabi.a b/bin/thumbv6m-none-eabi.a
index 571396b..6835c5b 100644
--- a/bin/thumbv6m-none-eabi.a
+++ b/bin/thumbv6m-none-eabi.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabi-lto.a b/bin/thumbv7em-none-eabi-lto.a
index 51e02c6..0a42c47 100644
--- a/bin/thumbv7em-none-eabi-lto.a
+++ b/bin/thumbv7em-none-eabi-lto.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabi.a b/bin/thumbv7em-none-eabi.a
index d6ccf53..aeef3ab 100644
--- a/bin/thumbv7em-none-eabi.a
+++ b/bin/thumbv7em-none-eabi.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabihf-lto.a b/bin/thumbv7em-none-eabihf-lto.a
index cc52e63..6d5e7cf 100644
--- a/bin/thumbv7em-none-eabihf-lto.a
+++ b/bin/thumbv7em-none-eabihf-lto.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabihf.a b/bin/thumbv7em-none-eabihf.a
index aea284d..dd4f80d 100644
--- a/bin/thumbv7em-none-eabihf.a
+++ b/bin/thumbv7em-none-eabihf.a
Binary files differ
diff --git a/bin/thumbv7m-none-eabi-lto.a b/bin/thumbv7m-none-eabi-lto.a
index 85720da..66b6be3 100644
--- a/bin/thumbv7m-none-eabi-lto.a
+++ b/bin/thumbv7m-none-eabi-lto.a
Binary files differ
diff --git a/bin/thumbv7m-none-eabi.a b/bin/thumbv7m-none-eabi.a
index d9cf989..cdae52f 100644
--- a/bin/thumbv7m-none-eabi.a
+++ b/bin/thumbv7m-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.base-none-eabi-lto.a b/bin/thumbv8m.base-none-eabi-lto.a
index 37e74a9..59c6510 100644
--- a/bin/thumbv8m.base-none-eabi-lto.a
+++ b/bin/thumbv8m.base-none-eabi-lto.a
Binary files differ
diff --git a/bin/thumbv8m.base-none-eabi.a b/bin/thumbv8m.base-none-eabi.a
index 0660245..a300490 100644
--- a/bin/thumbv8m.base-none-eabi.a
+++ b/bin/thumbv8m.base-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.main-none-eabi-lto.a b/bin/thumbv8m.main-none-eabi-lto.a
index 4312c64..4306526 100644
--- a/bin/thumbv8m.main-none-eabi-lto.a
+++ b/bin/thumbv8m.main-none-eabi-lto.a
Binary files differ
diff --git a/bin/thumbv8m.main-none-eabi.a b/bin/thumbv8m.main-none-eabi.a
index 59affcc..5f0b282 100644
--- a/bin/thumbv8m.main-none-eabi.a
+++ b/bin/thumbv8m.main-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.main-none-eabihf-lto.a b/bin/thumbv8m.main-none-eabihf-lto.a
index 62fcad3..cc62761 100644
--- a/bin/thumbv8m.main-none-eabihf-lto.a
+++ b/bin/thumbv8m.main-none-eabihf-lto.a
Binary files differ
diff --git a/bin/thumbv8m.main-none-eabihf.a b/bin/thumbv8m.main-none-eabihf.a
index f7795d1..cd688ac 100644
--- a/bin/thumbv8m.main-none-eabihf.a
+++ b/bin/thumbv8m.main-none-eabihf.a
Binary files differ