RE: [PATCH v5 08/15] gdb, ada: collect standard exceptions in all objfiles

Metzger, Markus T via Gdb-patches
2022-09-14T08:46:02Z

Thanks, Joel,

I'm not getting some emails, it seems. Or they get filtered away. Let me check.

regards,
markus.

>-----Original Message-----
>From: Joel Brobecker <brobecker@adacore.com>
>Sent: Mittwoch, 14. September 2022 10:38
>To: Metzger, Markus T <markus.t.metzger@intel.com>
>Cc: Tom Tromey <tromey@adacore.com>; gdb-patches@sourceware.org; Kevin
>Buettner <kevinb@redhat.com>; brobecker@adacore.com
>Subject: Re: [PATCH v5 08/15] gdb, ada: collect standard exceptions in all objfiles
>
>Hi Markus,
>
>> would you be able to review this patch?
>
>I think Tom already reviewed this patch (back in July), and he said
>it looked fine to him. Here is the link to the email, in case I am
>mistaken:
>
> https://sourceware.org/pipermail/gdb-patches/2022-July/190855.html
>
>> >-----Original Message-----
>> >From: Metzger, Markus T <markus.t.metzger@intel.com>
>> >Sent: Montag, 18. Juli 2022 07:36
>> >To: brobecker@adacore.com
>> >Cc: gdb-patches@sourceware.org; Kevin Buettner <kevinb@redhat.com>
>> >Subject: RE: [PATCH v5 08/15] gdb, ada: collect standard exceptions in all objfiles
>> >
>> >Hello Joel,
>> >
>> >Would you be able to review this Ada-related patch?
>> >
>> >thanks,
>> >markus.
>> >
>> >>-----Original Message-----
>> >>From: Metzger, Markus T <markus.t.metzger@intel.com>
>> >>Sent: Donnerstag, 2. Juni 2022 15:25
>> >>To: gdb-patches@sourceware.org
>> >>Subject: [PATCH v5 08/15] gdb, ada: collect standard exceptions in all objfiles
>> >>
>> >>When searching for standard exceptions for Ada, we lookup the minimal
>> >>symbol of each exception. With linker namespaces there can be multiple
>> >>instances in different namespaces. Collect them all.
>> >>---
>> >> gdb/ada-lang.c | 30 +++++++++++++++++++++++-------
>> >> 1 file changed, 23 insertions(+), 7 deletions(-)
>> >>
>> >>diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
>> >>index 6ab01fd27d4..2b251693b72 100644
>> >>--- a/gdb/ada-lang.c
>> >>+++ b/gdb/ada-lang.c
>> >>@@ -13016,15 +13016,29 @@ ada_add_standard_exceptions (compiled_regex
>> >>*preg,
>> >> {
>> >> if (preg == NULL || preg->exec (name, 0, NULL, 0) == 0)
>> >> {
>> >>- struct bound_minimal_symbol msymbol
>> >>- = ada_lookup_simple_minsym (name);
>> >>+ symbol_name_match_type match_type = name_match_type_from_name
>> >>(name);
>> >>+ lookup_name_info lookup_name (name, match_type);
>> >>
>> >>- if (msymbol.minsym != NULL)
>> >>- {
>> >>- struct ada_exc_info info
>> >>- = {name, msymbol.value_address ()};
>> >>+ symbol_name_matcher_ftype *match_name
>> >>+ = ada_get_symbol_name_matcher (lookup_name);
>> >>
>> >>- exceptions->push_back (info);
>> >>+ /* Iterate over all objfiles irrespective of scope or linker
>> >>+ namespaces so we get all exceptions anywhere in the
>> >>+ progspace. */
>> >>+ for (objfile *objfile : current_program_space->objfiles ())
>> >>+ {
>> >>+ for (minimal_symbol *msymbol : objfile->msymbols ())
>> >>+ {
>> >>+ if (match_name (msymbol->linkage_name (), lookup_name,
>> >>+ nullptr)
>> >>+ && msymbol->type () != mst_solib_trampoline)
>> >>+ {
>> >>+ ada_exc_info info
>> >>+ = {name, msymbol->value_address (objfile)};
>> >>+
>> >>+ exceptions->push_back (info);
>> >>+ }
>> >>+ }
>> >> }
>> >> }
>> >> }
>> >>@@ -13122,6 +13136,8 @@ ada_add_global_exceptions (compiled_regex
>*preg,
>> >> SEARCH_GLOBAL_BLOCK | SEARCH_STATIC_BLOCK,
>> >> VARIABLES_DOMAIN);
>> >>
>> >>+ /* Iterate over all objfiles irrespective of scope or linker namespaces
>> >>+ so we get all exceptions anywhere in the progspace. */
>> >> for (objfile *objfile : current_program_space->objfiles ())
>> >> {
>> >> for (compunit_symtab *s : objfile->compunits ())
>> >>--
>> >>2.35.3
>>
>> Intel Deutschland GmbH
>> Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
>> Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
>> Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva
>> Chairperson of the Supervisory Board: Nicole Lau
>> Registered Office: Munich
>> Commercial Register: Amtsgericht Muenchen HRB 186928
>>
>
>--
>Joel