Commit 753b156d authored by Austin Seipp's avatar Austin Seipp

Add a TODO FIXME w.r.t. D894

As Reid mentioned in a comment on D894, the case fixed by this revision
likely isn't really correct, because old ARM binaries could run on newer
machines, meaning we need to detect at runtime whether we need a proper
barrier.

But in the mean time, this actually stops the build from failing - which
is better off. So we'll just remember this when we fix it in the future.
Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
parent 470a9494
...@@ -374,6 +374,11 @@ store_load_barrier(void) { ...@@ -374,6 +374,11 @@ store_load_barrier(void) {
#elif sparc_HOST_ARCH #elif sparc_HOST_ARCH
__asm__ __volatile__ ("membar #StoreLoad" : : : "memory"); __asm__ __volatile__ ("membar #StoreLoad" : : : "memory");
#elif arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv7) #elif arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv7)
// TODO FIXME: This case probably isn't totally correct - just because we
// use a pre-ARMv7 toolchain (e.g. to target an old Android device), doesn't
// mean the binary won't run on a newer ARMv7 system - in which case it
// needs a proper barrier. So we should rethink this
// - Reid
__asm__ __volatile__ ("" : : : "memory"); __asm__ __volatile__ ("" : : : "memory");
#elif arm_HOST_ARCH && !defined(arm_HOST_ARCH_PRE_ARMv7) #elif arm_HOST_ARCH && !defined(arm_HOST_ARCH_PRE_ARMv7)
__asm__ __volatile__ ("dmb" : : : "memory"); __asm__ __volatile__ ("dmb" : : : "memory");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment