diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2012-01-09 15:10:15 +0100 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2012-01-22 14:50:20 +0100 |
commit | 2a3535069e33d8b416f406c159ce924427315303 (patch) | |
tree | 2de8aa3a94215260fe91b0edb1c8f5d685413d04 /arch/m68k/kernel/process_mm.c | |
parent | c808d3d839ab70c87a6c9356c50569c87661378e (diff) | |
download | op-kernel-dev-2a3535069e33d8b416f406c159ce924427315303.zip op-kernel-dev-2a3535069e33d8b416f406c159ce924427315303.tar.gz |
m68k: Fix assembler constraint to prevent overeager gcc optimisation
Passing the address of a variable as an operand to an asm statement
doesn't mark the value of this variable as used, so gcc may optimize its
initialisation away. Fix this by using the "m" constraint instead.
Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: stable@vger.kernel.org
Diffstat (limited to 'arch/m68k/kernel/process_mm.c')
-rw-r--r-- | arch/m68k/kernel/process_mm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/m68k/kernel/process_mm.c b/arch/m68k/kernel/process_mm.c index 1bc223a..aa4ffb8 100644 --- a/arch/m68k/kernel/process_mm.c +++ b/arch/m68k/kernel/process_mm.c @@ -189,8 +189,8 @@ void flush_thread(void) current->thread.fs = __USER_DS; if (!FPU_IS_EMU) asm volatile (".chip 68k/68881\n\t" - "frestore %0@\n\t" - ".chip 68k" : : "a" (&zero)); + "frestore %0\n\t" + ".chip 68k" : : "m" (zero)); } /* |