gdb: add supports_arch_info callback to gdbarch_register
authorLancelot SIX <lancelot.six@amd.com>
Fri, 2 Sep 2022 19:09:35 +0000 (15:09 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Thu, 2 Feb 2023 15:02:33 +0000 (10:02 -0500)
commit1a8505cb53faa1c191d09ba221f9b0ec383ccfde
treecc27f5873dde94faa8f421f3233ba32e73a53b93
parent4a075b258e6f27f7323d57ec046549aad5e1a702
gdb: add supports_arch_info callback to gdbarch_register

In the ROCm GDB port, there are some amdgcn architectures known by BFD
that we don't actually support in GDB.  We don't want
gdbarch_printable_names to return these architectures.

gdbarch_printable_names is used for a few things:

 - completion of the "set architecture" command
 - the gdb.architecture_names function in Python
 - foreach-arch selftests

Add an optional callback to gdbarch_register that is a predicate
indicating whether the gdbarch supports the given bfd_arch_info.  by
default, it is nullptr, meaning that the gdbarch accepts all "mach"s for
that architecture known by BFD.

Change-Id: I712f94351b0b34ed1f42e5cf7fc7ba051315d860
Co-Authored-By: Simon Marchi <simon.marchi@efficios.com>
Approved-By: Andrew Burgess <aburgess@redhat.com>
gdb/arch-utils.c
gdb/gdbarch.h