[PATCH 1/3] opcodes: support insn endianness in cgen_cpu_open
Alan Modra
amodra@gmail.com
Mon Jun 1 07:19:59 GMT 2020
On Fri, May 29, 2020 at 07:08:18PM +0200, Jose E. Marchesi via Binutils wrote:
> include/ChangeLog:
>
> 2020-05-29 Jose E. Marchesi <jemarch@gnu.org>
>
> * opcode/cgen.h (enum cgen_cpu_open_arg): New value
> CGEN_CPU_OPEN_INSN_ENDIAN.
>
> opcodes/ChangeLog:
>
> 2020-05-29 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-05-29 Jose E. Marchesi <jose.marchesi@oracle.com>
>
> * objdump.c (disassemble_data): Set disasm_info.endian_code to
> disasm_info.endian after the later is initialized to the
> endianness reported by BFD.
OK, except s/later/latter/ above, and..
> @@ -2269,10 +2271,18 @@ epiphany_cgen_cpu_close (CGEN_CPU_DESC cd)
> regfree (CGEN_INSN_RX (insns));
> }
>
> - free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
> - free ((CGEN_INSN *) cd->insn_table.init_entries);
> - free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
> - free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
> + if (cd->macro_insn_table.init_entries)
> + free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
> +
> + if (cd->insn_table.init_entries)
> + free ((CGEN_INSN *) cd->insn_table.init_entries);
> +
> + if (cd->hw_table.entries)
> + free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
> +
> + if (cd->operand_table.entries)
> + free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
> +
> free (cd);
> }
>
Please ensure your copy of cgen is up to date before regenerating.
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list