aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2007-09-17 12:11:07 -0400
committerRalf Baechle <ralf@linux-mips.org>2007-09-19 14:33:14 -0400
commit09abbcffb3ee63fb8712c008df0c6878860777b7 (patch)
treea9b9db37c0c50069e733545e1c8bfe4802eb5e17
parent68835999435e01311ab57f5556169ad2966b6828 (diff)
[MIPS] cpu-bugs64.c: GCC 3.3 constraint workaround
Add a workaround to address warnings generated on the "n" constraint by GCC 3.3 and below. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/kernel/cpu-bugs64.c4
-rw-r--r--include/asm-mips/compiler.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/arch/mips/kernel/cpu-bugs64.c b/arch/mips/kernel/cpu-bugs64.c
index ac04f0adc408..6648fde20b96 100644
--- a/arch/mips/kernel/cpu-bugs64.c
+++ b/arch/mips/kernel/cpu-bugs64.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2003, 2004 Maciej W. Rozycki 2 * Copyright (C) 2003, 2004, 2007 Maciej W. Rozycki
3 * 3 *
4 * This program is free software; you can redistribute it and/or 4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License 5 * modify it under the terms of the GNU General Public License
@@ -29,7 +29,7 @@ static inline void align_mod(const int align, const int mod)
29 ".endr\n\t" 29 ".endr\n\t"
30 ".set pop" 30 ".set pop"
31 : 31 :
32 : "rn" (align), "rn" (mod)); 32 : GCC_IMM_ASM (align), GCC_IMM_ASM (mod));
33} 33}
34 34
35static inline void mult_sh_align_mod(long *v1, long *v2, long *w, 35static inline void mult_sh_align_mod(long *v1, long *v2, long *w,
diff --git a/include/asm-mips/compiler.h b/include/asm-mips/compiler.h
index 169ae26105e9..aa6b876bbd78 100644
--- a/include/asm-mips/compiler.h
+++ b/include/asm-mips/compiler.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2004 Maciej W. Rozycki 2 * Copyright (C) 2004, 2007 Maciej W. Rozycki
3 * 3 *
4 * This file is subject to the terms and conditions of the GNU General Public 4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive 5 * License. See the file "COPYING" in the main directory of this archive
@@ -9,8 +9,10 @@
9#define _ASM_COMPILER_H 9#define _ASM_COMPILER_H
10 10
11#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) 11#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
12#define GCC_IMM_ASM "n"
12#define GCC_REG_ACCUM "$0" 13#define GCC_REG_ACCUM "$0"
13#else 14#else
15#define GCC_IMM_ASM "rn"
14#define GCC_REG_ACCUM "accum" 16#define GCC_REG_ACCUM "accum"
15#endif 17#endif
16 18