Commit 6ad3179d authored by unknown's avatar unknown

Fix GCC build failure in PBXT in some cases/platforms.

parent 15e9be7a
...@@ -67,9 +67,9 @@ inline void xt_atomic_inc1(volatile xtWord1 *mptr) ...@@ -67,9 +67,9 @@ inline void xt_atomic_inc1(volatile xtWord1 *mptr)
#elif defined(XT_ATOMIC_GNUC_X86) #elif defined(XT_ATOMIC_GNUC_X86)
xtWord1 val; xtWord1 val;
asm volatile ("movb %1,%0" : "=r" (val) : "m" (*mptr) : "memory"); asm volatile ("movb %1,%0" : "=q" (val) : "m" (*mptr) : "memory");
val++; val++;
asm volatile ("xchgb %1,%0" : "=r" (val) : "m" (*mptr), "0" (val) : "memory"); asm volatile ("xchgb %1,%0" : "=q" (val) : "m" (*mptr), "0" (val) : "memory");
#elif defined(XT_ATOMIC_SOLARIS_LIB) #elif defined(XT_ATOMIC_SOLARIS_LIB)
atomic_inc_8(mptr); atomic_inc_8(mptr);
#else #else
...@@ -91,9 +91,9 @@ inline xtWord1 xt_atomic_dec1(volatile xtWord1 *mptr) ...@@ -91,9 +91,9 @@ inline xtWord1 xt_atomic_dec1(volatile xtWord1 *mptr)
#elif defined(XT_ATOMIC_GNUC_X86) #elif defined(XT_ATOMIC_GNUC_X86)
xtWord1 val2; xtWord1 val2;
asm volatile ("movb %1, %0" : "=r" (val) : "m" (*mptr) : "memory"); asm volatile ("movb %1, %0" : "=q" (val) : "m" (*mptr) : "memory");
val--; val--;
asm volatile ("xchgb %1,%0" : "=r" (val2) : "m" (*mptr), "0" (val) : "memory"); asm volatile ("xchgb %1,%0" : "=q" (val2) : "m" (*mptr), "0" (val) : "memory");
/* Should work, but compiler makes a mistake? /* Should work, but compiler makes a mistake?
* asm volatile ("xchgb %1, %0" : : "r" (val), "m" (*mptr) : "memory"); * asm volatile ("xchgb %1, %0" : : "r" (val), "m" (*mptr) : "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