From: Rusty Russell It's complaining about: #define per_cpu(var, cpu) ((void)cpu, per_cpu__##var) There are several ways of fixing this, but the simplest is: #define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var)) include/asm-generic/percpu.h | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN include/asm-generic/percpu.h~percpu-gcc-34-warning-fix include/asm-generic/percpu.h --- 25/include/asm-generic/percpu.h~percpu-gcc-34-warning-fix 2003-12-29 22:19:23.000000000 -0800 +++ 25-akpm/include/asm-generic/percpu.h 2003-12-29 22:19:23.000000000 -0800 @@ -29,7 +29,7 @@ do { \ #define DEFINE_PER_CPU(type, name) \ __typeof__(type) per_cpu__##name -#define per_cpu(var, cpu) ((void)cpu, per_cpu__##var) +#define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var)) #define __get_cpu_var(var) per_cpu__##var #endif /* SMP */ _