Use SEARCH_FUNCTION_DOMAIN when looking for Ada exception symbols

While working on another bug, I noticed that the Ada code to find
exception symbols uses SEARCH_VFT.  This will find variables and types
-- but only functions are needed here.  This patch changes the code to
use SEARCH_FUNCTION_DOMAIN.

Tested on x86-64 Fedora 38, using a version of GNAT with the debuginfo
installed, to ensure the exception-related tests work.

Reviewed-by: Keith Seitz <keiths@redhat.com>
This commit is contained in:
Tom Tromey 2024-08-14 10:45:30 -06:00
parent 60202b0ced
commit a55790e992

View File

@ -11679,7 +11679,8 @@ ada_has_this_exception_support (const struct exception_support_info *einfo)
that should be compiled with debugging information. As a result, we
expect to find that symbol in the symtabs. */
sym = standard_lookup (einfo->catch_exception_sym, NULL, SEARCH_VFT);
sym = standard_lookup (einfo->catch_exception_sym, NULL,
SEARCH_FUNCTION_DOMAIN);
if (sym == NULL)
{
/* Perhaps we did not find our symbol because the Ada runtime was
@ -11714,7 +11715,8 @@ ada_has_this_exception_support (const struct exception_support_info *einfo)
error (_("Symbol \"%s\" is not a function (class = %d)"),
sym->linkage_name (), sym->aclass ());
sym = standard_lookup (einfo->catch_handlers_sym, NULL, SEARCH_VFT);
sym = standard_lookup (einfo->catch_handlers_sym, NULL,
SEARCH_FUNCTION_DOMAIN);
if (sym == NULL)
{
bound_minimal_symbol msym