SDL_atomic.c, SDL_spinlock.c: use lock prefix with xchg in Watcom asm.
diff --git a/src/atomic/SDL_atomic.c b/src/atomic/SDL_atomic.c
index df49201..d0022cd 100644
--- a/src/atomic/SDL_atomic.c
+++ b/src/atomic/SDL_atomic.c
@@ -53,10 +53,11 @@
#endif
#if defined(__WATCOMC__) && defined(__386__)
+SDL_COMPILE_TIME_ASSERT(intsize, 4==sizeof(int));
#define HAVE_WATCOM_ATOMICS
extern _inline int _SDL_xchg_watcom(volatile int *a, int v);
#pragma aux _SDL_xchg_watcom = \
- "xchg [ecx], eax" \
+ "lock xchg [ecx], eax" \
parm [ecx] [eax] \
value [eax] \
modify exact [eax];
diff --git a/src/atomic/SDL_spinlock.c b/src/atomic/SDL_spinlock.c
index cbc1056..6a7b14a 100644
--- a/src/atomic/SDL_spinlock.c
+++ b/src/atomic/SDL_spinlock.c
@@ -40,7 +40,7 @@
SDL_COMPILE_TIME_ASSERT(locksize, 4==sizeof(SDL_SpinLock));
extern _inline int _SDL_xchg_watcom(volatile int *a, int v);
#pragma aux _SDL_xchg_watcom = \
- "xchg [ecx], eax" \
+ "lock xchg [ecx], eax" \
parm [ecx] [eax] \
value [eax] \
modify exact [eax];