bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/25403] New: [AArch64, ARMv8.4] objdump doesn't disassemble


From: james.boyle at arm dot com
Subject: [Bug binutils/25403] New: [AArch64, ARMv8.4] objdump doesn't disassemble cfinv correctly
Date: Thu, 16 Jan 2020 18:14:58 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=25403

            Bug ID: 25403
           Summary: [AArch64, ARMv8.4] objdump doesn't disassemble cfinv
                    correctly
           Product: binutils
           Version: 2.34 (HEAD)
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: james.boyle at arm dot com
  Target Milestone: ---

cfinv (opcode 0xd500401f) for flag manipulation instruction (from ARMv8.4
extension) decodes incorrectly as:
msr     s0_0_c4_c0_0, xzr
It should decode as:
cfinv


I used:
$ echo "cfinv" | aarch64-none-linux-gnu-as -march=armv8.4-a
Which assembles ok.  Then running:
$ ./objdump -D
a.out:     file format elf64-littleaarch64


Disassembly of section .text:

0000000000000000 <.text>:
   0:   d500401f        msr     s0_0_c4_c0_0, xzr


It looks like in commit e9dbdd80cb02ac66cf7d4cd1207ec11928db2c95 (Thu, 16 Nov
2017) a change was made to support this along with other flag manipulation
instructions, but cfinv disassembly seems to have been broken from the outset. 
Looking at test gas/testsuite/gas/aarch64/armv8_4-a.d it never appeared.

I think the other v8.4 flag manipulation instructions are disassembling
correctly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]