From: Tom Tromey Date: Wed, 14 Aug 2024 16:45:30 +0000 (-0600) Subject: Use SEARCH_FUNCTION_DOMAIN when looking for Ada exception symbols X-Git-Tag: gdb-16-branchpoint~1103 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=a55790e99235b39582a1c3e85199f8139612f24a;p=thirdparty%2Fbinutils-gdb.git 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 --- diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index f293af69508..7853a482156 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -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