[PATCH, updated] Add support for setting disassembler-options in GDB for POWER, ARM and S390

Peter Bergner bergner@vnet.ibm.com
Mon Feb 13 17:32:00 GMT 2017


On 2/13/17 10:58 AM, Pedro Alves wrote:
> On 02/13/2017 03:52 PM, Yao Qi wrote:
>> These options should be modeled as per-architecture data.  We need to
>> define a key to access that data dynamically.  grep
>> "static struct gdbarch_data *" in *.c.
>
> If I understand the suggestion correctly, that would make all the different
> POWER (etc.) gdbarch instances have their own instance of the option string.
> I.e., the POWER gdbarch instance determined for the objfile before the program
> is run or GDB connects to a target would have a different set of options than
> the gdbarch instance created based on the POWER-based XML target description
> returned by the (e.g.), remote server, because those are different
> gdbarch object instances.  As a result "set disassembler-options" would
> show different options before and after run/connection (and in other
> situations that use different gdbarch objects).
>
> What Alan's implementation achieves instead is that there's only one option
> value string for the whole family of gdbarchs of a given architecture, like
> POWER vs MIPS, vs x86, etc, so that the disassembler options active persist
> across internal uses of all the different gdbarch instances that
> model variants of the same CPU architecture.

s/Alan's/Peter's/. :-)  Thank you for explaining what Yao's suggestion
would do.  As a user, I'd much prefer setting a disassembler option
(per arch) and having that be used for all of my disassemble commands,
versus to having to set it for each gdbarch instance.  I think that
would also fall under the principle of least surprise rule too.

Peter




More information about the Gdb-patches mailing list