GCC は、次のコードの登録エラーの後にジャンク `-4(%ebp)' を伝えます:
static __inline__ int xchg_asm(int* lock, int val)
{
int ret;
__asm__ __volatile__(
LOCK "movl %1,%%eax; xchg (%1),%2 ; movl %%eax %0"
:"=m" (ret)
:"d"(lock), "c"(val));
return ret;
}
変更方法がわかりません。