[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2 of 6] x86: don't use .subsection to out-of-line failure path in spinlock.h
# HG changeset patch # User Tim Deegan <tim@xxxxxxx> # Date 1333626954 -3600 # Node ID 0ecf439475e12f185553f42f56f099be5f328cce # Parent 8518fb0c8c996dca67efd39d31962a6d3502c2ed x86: don't use .subsection to out-of-line failure path in spinlock.h LLVM's assembler doesn't support the .subsection directive. Instead, leave the failure path inline with an unconditional jump past it in the success path (so the conditional jump is still forwards). Signed-off-by: Tim Deegan <tim@xxxxxxx> diff -r 8518fb0c8c99 -r 0ecf439475e1 xen/include/asm-x86/spinlock.h --- a/xen/include/asm-x86/spinlock.h Thu Apr 05 12:55:54 2012 +0100 +++ b/xen/include/asm-x86/spinlock.h Thu Apr 05 12:55:54 2012 +0100 @@ -44,12 +44,11 @@ static always_inline int _raw_read_trylo asm volatile ( " lock; decl %0 \n" - " jns 2f \n" - "1: .subsection 1 \n" - "2: lock; incl %0 \n" + " jns 1f \n" + " jmp 2f \n" + "1: lock; incl %0 \n" " decl %1 \n" - " jmp 1b \n" - " .subsection 0 \n" + "2: \n" : "=m" (rw->lock), "=r" (acquired) : "1" (1) : "memory" ); return acquired; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |