diff options
author | 2022-03-13 22:54:25 +1030 | |
---|---|---|
committer | 2022-03-19 00:03:51 +0100 | |
commit | 27a707aece276a0dc51787d1514bec0c833f89d2 (patch) | |
tree | c3def7d87e3cb705de26e1e943e95d6ff5a02509 | |
parent | PowerPC64 DT_RELR relative reloc addresses (diff) | |
download | binutils-gdb-27a707aece276a0dc51787d1514bec0c833f89d2.tar.gz binutils-gdb-27a707aece276a0dc51787d1514bec0c833f89d2.tar.bz2 binutils-gdb-27a707aece276a0dc51787d1514bec0c833f89d2.zip |
PR28959, obdump doesn't disassemble mftb instruction
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)
(cherry picked from commit fcf60fe8482346f543efdc4879a34c6bbd9cfea9)
-rw-r--r-- | opcodes/ppc-dis.c | 5 |
1 files changed, 3 insertions, 2 deletions
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. */ |