]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
PR28959, obdump doesn't disassemble mftb instruction
authorAlan Modra <amodra@gmail.com>
Sun, 13 Mar 2022 12:24:25 +0000 (22:54 +1030)
committerAlan Modra <amodra@gmail.com>
Sun, 13 Mar 2022 22:53:56 +0000 (09:23 +1030)
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.

(cherry picked from commit b508e46bf9c5b2cef5821b399dfc3b8009a81836)

opcodes/ppc-dis.c

index f25909d1c010689a6bfd655b0e1044023a37931b..ae2f0c6e8cc07a267f643b70dd54df07fb473180 100644 (file)
@@ -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.  */