From b9ca6dc90637713ea3ca8301f24994a76d7f2a63 Mon Sep 17 00:00:00 2001 From: Marcus Winter Date: Mon, 7 Mar 2016 10:39:28 +0100 Subject: [PATCH] base_c: fixed implementation of atomic store to ensure sequential consistency --- base_c/src/atomicfunc_32.asm | 2 +- base_c/src/atomicfunc_64.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/base_c/src/atomicfunc_32.asm b/base_c/src/atomicfunc_32.asm index c485ee5..3174b40 100644 --- a/base_c/src/atomicfunc_32.asm +++ b/base_c/src/atomicfunc_32.asm @@ -114,7 +114,7 @@ define_or_assign @embb_internal__atomic_or_assign_1_asm@8, byte, dl define_store macro name, size, value public name name proc - mov size ptr [ecx], value + xchg size ptr [ecx], value ret name endp endm diff --git a/base_c/src/atomicfunc_64.asm b/base_c/src/atomicfunc_64.asm index 55e0567..8e5e658 100644 --- a/base_c/src/atomicfunc_64.asm +++ b/base_c/src/atomicfunc_64.asm @@ -107,7 +107,7 @@ define_or_assign embb_internal__atomic_or_assign_1_asm, byte, dl define_store macro name, size, value public name name proc - mov size ptr [rcx], value + xchg size ptr [rcx], value ret name endp endm -- libgit2 0.26.0