diff options
| author | Andi Kleen <ak@suse.de> | 2006-09-29 19:47:55 -0400 |
|---|---|---|
| committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-29 19:47:55 -0400 |
| commit | c84ef5305930d19bdd6cd576b3a3a73786a82e57 (patch) | |
| tree | 26f9b94efa67ce79cf89dee251ac519804cab793 | |
| parent | 34596dc9e59d7bece16fe5aba08116b49465da26 (diff) | |
[PATCH] Use early clobber in semaphores
New code clobbers the result always early, so tell gcc about it
Signed-off-by: Andi Kleen <ak@suse.de>
| -rw-r--r-- | include/asm-x86_64/semaphore.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-x86_64/semaphore.h b/include/asm-x86_64/semaphore.h index 107bd90429e8..1194888536b9 100644 --- a/include/asm-x86_64/semaphore.h +++ b/include/asm-x86_64/semaphore.h | |||
| @@ -132,7 +132,7 @@ static inline int down_interruptible(struct semaphore * sem) | |||
| 132 | "jns 2f\n\t" | 132 | "jns 2f\n\t" |
| 133 | "call __down_failed_interruptible\n" | 133 | "call __down_failed_interruptible\n" |
| 134 | "2:\n" | 134 | "2:\n" |
| 135 | :"=a" (result), "=m" (sem->count) | 135 | :"=&a" (result), "=m" (sem->count) |
| 136 | :"D" (sem) | 136 | :"D" (sem) |
| 137 | :"memory"); | 137 | :"memory"); |
| 138 | return result; | 138 | return result; |
| @@ -153,7 +153,7 @@ static inline int down_trylock(struct semaphore * sem) | |||
| 153 | "jns 2f\n\t" | 153 | "jns 2f\n\t" |
| 154 | "call __down_failed_trylock\n\t" | 154 | "call __down_failed_trylock\n\t" |
| 155 | "2:\n" | 155 | "2:\n" |
| 156 | :"=a" (result), "=m" (sem->count) | 156 | :"=&a" (result), "=m" (sem->count) |
| 157 | :"D" (sem) | 157 | :"D" (sem) |
| 158 | :"memory","cc"); | 158 | :"memory","cc"); |
| 159 | return result; | 159 | return result; |
