mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Apply fix for bug#45131, "Problems building on 32-bit linux".
As described in the bug, the problem is not new in 5.4, but newly tickled. We need a register whose lower 8 bits can be accessed, and must request such from the assembler. Using a "q" constraint instead of "r" constraint accomplishes this.
This commit is contained in:
parent
782b8f0550
commit
76bcf79c6b
1 changed files with 1 additions and 1 deletions
|
@ -35,7 +35,7 @@
|
||||||
asm volatile (LOCK "; xadd %0, %1;" : "+r" (v) , "+m" (*a))
|
asm volatile (LOCK "; xadd %0, %1;" : "+r" (v) , "+m" (*a))
|
||||||
#endif
|
#endif
|
||||||
#define make_atomic_swap_body(S) \
|
#define make_atomic_swap_body(S) \
|
||||||
asm volatile ("; xchg %0, %1;" : "+r" (v) , "+m" (*a))
|
asm volatile ("; xchg %0, %1;" : "+q" (v) , "+m" (*a))
|
||||||
#define make_atomic_cas_body(S) \
|
#define make_atomic_cas_body(S) \
|
||||||
asm volatile (LOCK "; cmpxchg %3, %0; setz %2;" \
|
asm volatile (LOCK "; cmpxchg %3, %0; setz %2;" \
|
||||||
: "+m" (*a), "+a" (*cmp), "=q" (ret): "r" (set))
|
: "+m" (*a), "+a" (*cmp), "=q" (ret): "r" (set))
|
||||||
|
|
Loading…
Reference in a new issue