PR28959, obdump doesn't disassemble mftb instruction

Alan Modra amodra@gmail.com
Sun Mar 13 22:40:23 GMT 2022


Without a -M cpu option given, powerpc objdump defaults currently to
-Mpower10 but -Many is also given.  Commit 1ff6a3b8e562 regressed
-Many disassembly of instructions that are encoded differently
depending on cpu, such as mftb which has pre- and post-power4
encodings.

	PR 28959
	* ppc-dis.c (lookup_powerpc): Revert 2021-05-28 change.  Instead
	only look at deprecated PPC_OPCODE_RAW bit when -Many.

diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 07f4e34a657..38ddeca2623 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -598,8 +598,9 @@ lookup_powerpc (uint64_t insn, ppc_cpu_t dialect)
 
       if ((insn & opcode->mask) != opcode->opcode
 	  || ((dialect & PPC_OPCODE_ANY) == 0
-	      && (opcode->flags & dialect) == 0)
-	  || (opcode->deprecated & dialect) != 0)
+	      && ((opcode->flags & dialect) == 0
+		  || (opcode->deprecated & dialect) != 0))
+	  || (opcode->deprecated & dialect & PPC_OPCODE_RAW) != 0)
 	continue;
 
       /* Check validity of operands.  */

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list