[PATCH 2/4] [ARM] Small refactoring of arm gdbarch initialization
Alan Hayward
Alan.Hayward@arm.com
Fri Oct 8 16:03:57 GMT 2021
Lgtm
Alan
> On 5 Oct 2021, at 15:45, Luis Machado <luis.machado@linaro.org> wrote:
>
> This is in preparation to MVE support, where we will define another
> pseudo register. We need to define the pseudo register numbers *after*
> accounting for all the registers in the XML description, so move
> the call to tdesc_use_registers up.
>
> If we don't do it, GDB's register count won't consider registers contained
> in the XML but ignored by GDB, throwing the register numbering off.
> ---
> gdb/arm-tdep.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
> index ab6999ae209..2a6bfb1b3f7 100644
> --- a/gdb/arm-tdep.c
> +++ b/gdb/arm-tdep.c
> @@ -9470,6 +9470,17 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
> set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double);
> }
>
> + if (tdesc_data != nullptr)
> + {
> + set_tdesc_pseudo_register_name (gdbarch, arm_register_name);
> +
> + tdesc_use_registers (gdbarch, tdesc, std::move (tdesc_data));
> +
> + /* Override tdesc_register_type to adjust the types of VFP
> + registers for NEON. */
> + set_gdbarch_register_type (gdbarch, arm_register_type);
> + }
> +
> if (have_vfp_pseudos)
> {
> /* NOTE: These are the only pseudo registers used by
> @@ -9484,17 +9495,6 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
> set_gdbarch_pseudo_register_write (gdbarch, arm_pseudo_write);
> }
>
> - if (tdesc_data != nullptr)
> - {
> - set_tdesc_pseudo_register_name (gdbarch, arm_register_name);
> -
> - tdesc_use_registers (gdbarch, tdesc, std::move (tdesc_data));
> -
> - /* Override tdesc_register_type to adjust the types of VFP
> - registers for NEON. */
> - set_gdbarch_register_type (gdbarch, arm_register_type);
> - }
> -
> /* Add standard register aliases. We add aliases even for those
> names which are used by the current architecture - it's simpler,
> and does no harm, since nothing ever lists user registers. */
> --
> 2.25.1
>
More information about the Gdb-patches
mailing list