opcodes: support insn endianness in cgen_cpu_open
authorJose E. Marchesi <jose.marchesi@oracle.com>
Thu, 4 Jun 2020 14:14:41 +0000 (16:14 +0200)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Thu, 4 Jun 2020 14:17:42 +0000 (16:17 +0200)
commitb3db6d07be467fe86f5b4185a8fc7bec49380c1f
tree8486190d571c898ad12e24350e5e06a59a5bfac0
parent0cfcd4f003ce0ed5467fd0ceeff4a191439c5923
opcodes: support insn endianness in cgen_cpu_open

This patch adds support for a new CGEN_OPEN_INSN_ENDIAN argument
for @arch@_cgen_cpu_open.  This is useful for architectures in
which the endianness of the instruction words is not the same
than the endianness used for data.

An accompanying patch has been sent to the CGEN mailing list that
adds support for this argument on the CGEN side [1].  Its been
already pre-approved [2], and will be applied simultaneously with
this binutils series.

[1] https://sourceware.org/pipermail/cgen/2020q2/002733.html
[2] https://sourceware.org/pipermail/cgen/2020q2/002737.html

include/ChangeLog:

2020-06-04  Jose E. Marchesi  <jemarch@gnu.org>

* opcode/cgen.h (enum cgen_cpu_open_arg): New value
CGEN_CPU_OPEN_INSN_ENDIAN.

opcodes/ChangeLog:

2020-06-04  Jose E. Marchesi  <jemarch@gnu.org>

* cgen-dis.in (cpu_desc_list): New field `insn_endian'.
(print_insn_): Handle instruction endian.
* bpf-dis.c: Regenerate.
* bpf-desc.c: Regenerate.
* epiphany-dis.c: Likewise.
* epiphany-desc.c: Likewise.
* fr30-dis.c: Likewise.
* fr30-desc.c: Likewise.
* frv-dis.c: Likewise.
* frv-desc.c: Likewise.
* ip2k-dis.c: Likewise.
* ip2k-desc.c: Likewise.
* iq2000-dis.c: Likewise.
* iq2000-desc.c: Likewise.
* lm32-dis.c: Likewise.
* lm32-desc.c: Likewise.
* m32c-dis.c: Likewise.
* m32c-desc.c: Likewise.
* m32r-dis.c: Likewise.
* m32r-desc.c: Likewise.
* mep-dis.c: Likewise.
* mep-desc.c: Likewise.
* mt-dis.c: Likewise.
* mt-desc.c: Likewise.
* or1k-dis.c: Likewise.
* or1k-desc.c: Likewise.
* xc16x-dis.c: Likewise.
* xc16x-desc.c: Likewise.
* xstormy16-dis.c: Likewise.
* xstormy16-desc.c: Likewise.

binutils/ChangeLog:

2020-06-04  Jose E. Marchesi  <jose.marchesi@oracle.com>

* objdump.c (disassemble_data): Set disasm_info.endian_code to
        disasm_info.endian after the latter is initialized to the
        endianness reported by BFD.
34 files changed:
binutils/ChangeLog
binutils/objdump.c
include/ChangeLog
include/opcode/cgen.h
opcodes/ChangeLog
opcodes/bpf-desc.c
opcodes/bpf-dis.c
opcodes/cgen-dis.in
opcodes/epiphany-desc.c
opcodes/epiphany-dis.c
opcodes/fr30-desc.c
opcodes/fr30-dis.c
opcodes/frv-desc.c
opcodes/frv-dis.c
opcodes/ip2k-desc.c
opcodes/ip2k-dis.c
opcodes/iq2000-desc.c
opcodes/iq2000-dis.c
opcodes/lm32-desc.c
opcodes/lm32-dis.c
opcodes/m32c-desc.c
opcodes/m32c-dis.c
opcodes/m32r-desc.c
opcodes/m32r-dis.c
opcodes/mep-desc.c
opcodes/mep-dis.c
opcodes/mt-desc.c
opcodes/mt-dis.c
opcodes/or1k-desc.c
opcodes/or1k-dis.c
opcodes/xc16x-desc.c
opcodes/xc16x-dis.c
opcodes/xstormy16-desc.c
opcodes/xstormy16-dis.c