[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86_32: Fix _raw_read_trylock() build on some gcc versions.
# HG changeset patch # User Keir Fraser <keir@xxxxxxx> # Date 1301214635 -3600 # Node ID 0bc1c4746c8939337f693a513fd837fc03477db1 # Parent 48dac730a93b27ff60a340564e9a7afd7f9385f4 x86_32: Fix _raw_read_trylock() build on some gcc versions. Was broken by 23099:612171ff82ea. A bool_t is a single byte, and needs a 'q' register constraint. Avoid the whole issue by changing the variable to an int, and explicitly specify the operand suffix as 'l' for good measure. Signed-off-by: Keir Fraser <keir@xxxxxxx> --- diff -r 48dac730a93b -r 0bc1c4746c89 xen/include/asm-x86/spinlock.h --- a/xen/include/asm-x86/spinlock.h Sat Mar 26 09:42:01 2011 +0000 +++ b/xen/include/asm-x86/spinlock.h Sun Mar 27 09:30:35 2011 +0100 @@ -40,14 +40,14 @@ static always_inline int _raw_read_trylock(raw_rwlock_t *rw) { - bool_t acquired; + int acquired; asm volatile ( " lock; decl %0 \n" " jns 2f \n" "1: .subsection 1 \n" "2: lock; incl %0 \n" - " dec %1 \n" + " decl %1 \n" " jmp 1b \n" " .subsection 0 \n" : "=m" (rw->lock), "=r" (acquired) : "1" (1) : "memory" ); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |