On Thu, Jul 30, 2026 at 08:24:36AM +0200, Christophe Leroy (CS GROUP) wrote: > > > Le 29/07/2026 à 22:49, Link Mauve a écrit : > > It seems this function has only compiled without warnings on PPC64, not > > on PowerPC, so before this commit it would fail with: > > ``` > > ../arch/powerpc/lib/sstep.c: In function 'analyse_instr': > > ../arch/powerpc/lib/sstep.c:1350:28: error: variable 'suffix' set but not > > used [-Werror=unused-but-set-variable] > > 1350 | unsigned int word, suffix; > > | ^~~~~~ > > ../arch/powerpc/lib/sstep.c:1346:38: error: variable 'rc' set but not used > > [-Werror=unused-but-set-variable] > > 1346 | unsigned int opcode, ra, rb, rc, rd, spr, u; > > | ^~ > > cc1: all warnings being treated as errors > > ``` > > > > I'm surprised we still have this issue. I remember seeing it reported > several times allthough I've not been able to spot when. > > By the way on my side it happens only when I do a W=1 build.
Oh indeed, I was using W=1 all along, thanks for spotting that! > > Same as previous patch, I'd prefer using CONFIG_PPC64 instead of > __powerpc64__ Will do in v2. > > > Signed-off-by: Link Mauve <[email protected]> > > --- > > arch/powerpc/lib/sstep.c | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c > > index 597a0d841fe8..c866e4337f94 100644 > > --- a/arch/powerpc/lib/sstep.c > > +++ b/arch/powerpc/lib/sstep.c > > @@ -1342,16 +1342,20 @@ int analyse_instr(struct instruction_op *op, const > > struct pt_regs *regs, > > { > > #ifdef __powerpc64__ > > unsigned int suffixopcode, prefixtype, prefix_r; > > + unsigned int rc; > > + unsigned int suffix; > > A single line would be enough: Will do in v2. > > unsigned int rc, suffix; > > > #endif > > - 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; > > - unsigned int word, suffix; > > + unsigned int word; > > long ival; > > word = ppc_inst_val(instr); > > +#ifdef __powerpc64__ > > suffix = ppc_inst_suffix(instr); > > +#endif > > op->type = COMPUTE; > > @@ -1469,7 +1473,9 @@ int analyse_instr(struct instruction_op *op, const > > struct pt_regs *regs, > > rd = (word >> 21) & 0x1f; > > ra = (word >> 16) & 0x1f; > > rb = (word >> 11) & 0x1f; > > +#ifdef __powerpc64__ > > rc = (word >> 6) & 0x1f; > > +#endif > > switch (opcode) { > > #ifdef __powerpc64__ > -- Link Mauve
