2010-06-03 04:54:26

by Tetsuo Handa

[permalink] [raw]
Subject: [PATCH] x86, cpufeature: Suppress compiler warning with gcc 3.x

Gcc 3.x generates a warning

arch/x86/include/asm/cpufeature.h: In function `__static_cpu_has':
arch/x86/include/asm/cpufeature.h:315: warning: asm operand 1 probably doesn't match constraints

on each file.
But static_cpu_has() for gcc 3.x does not need __static_cpu_has().

Signed-off-by: Tetsuo Handa <[email protected]>
---
arch/x86/include/asm/cpufeature.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.35-rc1.orig/arch/x86/include/asm/cpufeature.h
+++ linux-2.6.35-rc1/arch/x86/include/asm/cpufeature.h
@@ -285,6 +285,7 @@ extern const char * const x86_power_flag

#endif /* CONFIG_X86_64 */

+#if __GNUC__ >= 4
/*
* Static testing of CPU features. Used the same as boot_cpu_has().
* These are only valid after alternatives have run, but will statically
@@ -332,7 +333,6 @@ static __always_inline __pure bool __sta
#endif
}

-#if __GNUC__ >= 4
#define static_cpu_has(bit) \
( \
__builtin_constant_p(boot_cpu_has(bit)) ? \


2010-06-03 07:11:50

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH] x86, cpufeature: Suppress compiler warning with gcc 3.x

On 06/03/2010 06:52 AM, Tetsuo Handa wrote:
> Gcc 3.x generates a warning
>
> arch/x86/include/asm/cpufeature.h: In function `__static_cpu_has':
> arch/x86/include/asm/cpufeature.h:315: warning: asm operand 1 probably doesn't match constraints
>
> on each file.
> But static_cpu_has() for gcc 3.x does not need __static_cpu_has().
>
> Signed-off-by: Tetsuo Handa<[email protected]>

Patch already queued for this.

Why are you trying to compile a current kernel with gcc 3.x?

-hpa