Mathieu Malaterre <ma...@debian.org> writes: > Fix warnings treated as errors with W=1: > > arch/powerpc/lib/sstep.c:1172:31: error: variable 'rc' set but not used > [-Werror=unused-but-set-variable] > > Suggested-by: Christophe Leroy <christophe.le...@c-s.fr> > Signed-off-by: Mathieu Malaterre <ma...@debian.org> > --- > v2: as suggested prefer CONFIG_PPC64 sentinel instead of unused keyword
I'd rather avoid adding more ifdefs if we can. I think this works? cheers diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c index 3d33fb509ef4..600b036ddfda 100644 --- a/arch/powerpc/lib/sstep.c +++ b/arch/powerpc/lib/sstep.c @@ -1169,7 +1169,7 @@ static nokprobe_inline int trap_compare(long v1, long v2) int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, unsigned int instr) { - unsigned int opcode, ra, rb, rc, rd, spr, u; + unsigned int opcode, ra, rb, rd, spr, u; unsigned long int imm; unsigned long int val, val2; unsigned int mb, me, sh; @@ -1292,7 +1292,6 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, rd = (instr >> 21) & 0x1f; ra = (instr >> 16) & 0x1f; rb = (instr >> 11) & 0x1f; - rc = (instr >> 6) & 0x1f; switch (opcode) { #ifdef __powerpc64__ @@ -1307,10 +1306,14 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, return 1; #ifdef __powerpc64__ - case 4: + case 4: { + unsigned int rc; + if (!cpu_has_feature(CPU_FTR_ARCH_300)) return -1; + rc = (instr >> 6) & 0x1f; + switch (instr & 0x3f) { case 48: /* maddhd */ asm volatile(PPC_MADDHD(%0, %1, %2, %3) : @@ -1336,6 +1339,7 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, * primary opcode which do not have emulation support yet. */ return -1; + } #endif case 7: /* mulli */