Browse Source

SDL_atomic.c, SDL_spinlock.c: use lock prefix with xchg in Watcom asm.

Ozkan Sezer 6 years ago
parent
commit
d9fb77a3c1
2 changed files with 3 additions and 2 deletions
  1. 2 1
      src/atomic/SDL_atomic.c
  2. 1 1
      src/atomic/SDL_spinlock.c

+ 2 - 1
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];

+ 1 - 1
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];