Test value, not 1 in print_insn_spu(), arch/powerpc/xmon/spu-dis.c
PATCH 1/1 Test value, not 1 in print_insn_spu(), arch/powerpc/xmon/spu-dis.c
untested, please confirm:
The '|| 1' does nothing, should this be corrected like my patch does? --
Test value, not 1.
---
arch/powerpc/xmon/spu-dis.c +1 -1
@@ -222,7 +222,7 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)break ;case A_U18 : value =DECODE_INSN_U18 (insn); -if (value ==0 ||1 ) +if (value ==0 || value ==1 ) { hex_value = value;printf ("%u" , value);
Quoted 12 lines · Roel Kluin
untested, please confirm:
The '|| 1' does nothing, should this be corrected like my patch does? --
Test value, not 1.Signed-off-by Roel Kluin <[email protected]>---
arch/powerpc/xmon/spu-dis.c +0
-0
arch/powerpc/xmon/spu-dis.c print_insn_spu (unsigned long insn, unsigned long memaddr) · line 228
Quoted 8 lines
arch/powerpc/xmon/spu-dis.c +1
-1@@ -222,7 +222,7 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)break ;case A_U18 : value =DECODE_INSN_U18 (insn); -if (value ==0 ||1 ) +if (value ==0 || value ==1 ) { hex_value = value;printf ("%u" , value);
The original binutils code looks like:
case A_U18:
value = DECODE_INSN_U18 (insn);
if (value == 0 || !(*info->symbol_at_address_func)(0, info))
{
hex_value = value;
(*info->fprintf_func) (info->stream, "%u", value);
}
else
(*info->print_address_func) (value, info);
break;We don't have a symbol_at_address_func() so we always guess there isn't a symbol at the address, as if the function had returned 0. Which gives us:
if (value == 0 || !0)
or
if (value == 0 || 1)The reason I left it like that rather than removing the if, was to minimise the diff between the kernel version of spu-dis.c and the binutils version.
cheers
Signature · 8 lines
Michael Ellerman OzLabs, IBM Australia Development Lab wwweb: http://michael.ellerman.id.au phone: +61 2 6212 1183 (tie line 70 21183) We do not inherit the earth from our ancestors, we borrow it from our children. - S.M.A.R.T Person