This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 1/2] Add support for setting disassembler-options in GDB for POWER, ARM and S390
- From: Nick Clifton <nickc at redhat dot com>
- To: Peter Bergner <bergner at vnet dot ibm dot com>, gdb-patches at sourceware dot org
- Cc: Ulrich Weigand <uweigand at de dot ibm dot com>, Pedro Alves <palves at redhat dot com>, Alan Modra <amodra at gmail dot com>, binutils <binutils at sourceware dot org>
- Date: Fri, 18 Nov 2016 10:25:30 +0000
- Subject: Re: [PATCH 1/2] Add support for setting disassembler-options in GDB for POWER, ARM and S390
- Authentication-results: sourceware.org; auth=none
- References: <b6037acd-9036-7e69-3350-8da5f0ec981b@vnet.ibm.com>
Hi Peter,
> include/
> * dis-asm.h (parse_arm_disassembler_option): Remove prototype.
> (set_arm_regname_option): Likewise.
> (disassemble_init_s390): New prototype.
> (disassembler_options_names_powerpc): Likewise.
> (disassembler_options_names_arm): Likewise.
> (disassembler_options_desc_arm): Likewise.
> (disassembler_options_names_s390): Likewise.
> (disassembler_options_desc_s390): Likewise.
>
> opcodes/
> * disassemble.c (disassemble_init_for_target): Handle s390 init.
> * ppc-dis.c: Include "libiberty.h".
> (ppc_opts): Add "32" and "64" entries.
> (parse_ppc_dis_option): New function.
> (disassembler_options_names_powerpc): Likewise.
> (powerpc_init_dialect): Use parse_ppc_dis_option().
> Add break to switch statement.
> (print_ppc_disassembler_options): Remove printing of "32" and "64".
> * arm-dis.c: Include "libiberty.h".
> (struct arm_regname): Add 'long_name' field.
> (regnames): Initialize it.
> (set_arm_regname_option): Remove function.
> (parse_arm_disassembler_option): Make static.
> (disassembler_options_names_arm): New function.
> (disassembler_options_desc_arm): Likewise.
> * s390-dis.c: Include "libiberty.h".
> (struct options_t): New structure type.
> (options): New structure.
> (init_disasm): Rename from this...
> (disassemble_init_s390): ...to this. Add initializations for
> current_arch_mask and option_use_insn_len_bits_p. Remove init_flag.
> (disassembler_options_names_s390): New function.
> (disassembler_options_desc_s390): Likewise.
> (print_s390_disassembler_options): Print using information from
> struct 'options'.
>
> gdb/
> * gdbarch.sh (gdbarch_disassembler_options): New variable.
> (gdbarch_disassembler_options_names): Likewise.
> (gdbarch_disassembler_options_descriptions): Likewise.
> * gdbarch.c: Regenerate.
> * gdbarch.h: Likewise.
> * disasm.c: Include "arch-utils.h", "gdbcmd.h", "gdbcmd.h" and
> "safe-ctype.h".
> (gdb_disassemble_info): Initilize di.disassembler_options.
> (gdb_buffered_insn_length_init_dis): Initilize di->application_data
> and di->disassembler_options.
> (cleanup_disassembler_options): New function.
> (parse_disassembler_options): Likewise.
> (set_disassembler_options): Likewise.
> (show_disassembler_options): Likewise.
> (disassembler_options_completer): Likewise.
> (_initialize_disasm): Likewise.
> * disasm.h (set_disassembler_options): New prototype.
> (show_disassembler_options): Likewise.
> * rs6000-tdep.c (rs6000_gdbarch_init): Call
> set_gdbarch_disassembler_options_names.
> * arm-tdep.c: Include "disasm.h" and "cli/cli-decode.h".
> (disassembly_style): Delete static variable.
> (set_disassembly_style): Delete function and prototype.
> (show_disassembly_style_sfunc): New function.
> (set_disassembly_style_sfunc): Call set_disassembler_options.
> (arm_gdbarch_init): Call set_gdbarch_disassembler_options,
> set_gdbarch_disassembler_options_names and
> set_gdbarch_disassembler_options_descriptions.
> (_initialize_arm_tdep): New static variable 'disassembly_style';
> Remove calls to parse_arm_disassembler_option & set_arm_regname_option.
> Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
> * s390-tdep.c (s390_gdbarch_init): Call functions
> set_gdbarch_disassembler_options_names and
> set_gdbarch_disassembler_options_descriptions.
The binutils parts are approved.
Question: Is this worth a mention in the NEWS file ? (GDB presumably, although maybe binutils as well ?)
Cheers
Nick