diff options
author | Mark Salter <msalter@redhat.com> | 2010-01-08 14:43:16 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-01-11 09:34:10 -0800 |
commit | d6bb7a1ad326f56f0793353c59348554f84b513c (patch) | |
tree | 803f006ee2cd924f73b6b4c92b040f9f1db95834 /arch/mn10300/include/asm/uaccess.h | |
parent | b0641e86fbc722906e323b2c2a069e65f44ff484 (diff) | |
download | blackbird-op-linux-d6bb7a1ad326f56f0793353c59348554f84b513c.tar.gz blackbird-op-linux-d6bb7a1ad326f56f0793353c59348554f84b513c.zip |
mn10300: add cc clobbers to asm statements
gcc 4.2.1 for MN10300 is more agressive than the older gcc in
reordering/moving other insns between an insn that sets flags and an insn
that uses those flags. This leads to trouble with asm statements which
are missing an explicit "cc" clobber. This patch adds the explicit "cc"
clobber to asm statements which do indeed clobber the condition flags.
Signed-off-by: Mark Salter <msalter@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/mn10300/include/asm/uaccess.h')
-rw-r--r-- | arch/mn10300/include/asm/uaccess.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/mn10300/include/asm/uaccess.h b/arch/mn10300/include/asm/uaccess.h index 167e10ff06d9..197a7af3dd8a 100644 --- a/arch/mn10300/include/asm/uaccess.h +++ b/arch/mn10300/include/asm/uaccess.h @@ -316,7 +316,7 @@ do { \ " .previous\n" \ : "=a"(__from), "=a"(__to), "=r"(size), "=&r"(w)\ : "0"(__from), "1"(__to), "2"(size) \ - : "memory"); \ + : "cc", "memory"); \ } \ } while (0) @@ -352,7 +352,7 @@ do { \ " .previous\n" \ : "=a"(__from), "=a"(__to), "=r"(size), "=&r"(w)\ : "0"(__from), "1"(__to), "2"(size) \ - : "memory"); \ + : "cc", "memory"); \ } \ } while (0) |