summaryrefslogtreecommitdiffstats
path: root/arch/m68k/kernel/process_mm.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-01-09 15:10:15 +0100
committerGeert Uytterhoeven <geert@linux-m68k.org>2012-01-22 14:50:20 +0100
commit2a3535069e33d8b416f406c159ce924427315303 (patch)
tree2de8aa3a94215260fe91b0edb1c8f5d685413d04 /arch/m68k/kernel/process_mm.c
parentc808d3d839ab70c87a6c9356c50569c87661378e (diff)
downloadop-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.c4
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));
}
/*
OpenPOWER on IntegriCloud