[PATCH v2] [gdb/symtab] Don't expand non-Ada CUs for info exceptions
Tom Tromey
tom@tromey.com
Mon Sep 23 17:20:19 GMT 2024
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
Tom> I noticed when running test-case gdb.ada/info_exc.exp with glibc debug info
Tom> installed, that the "info exceptions" command that lists all Ada exceptions
Tom> also expands non-Ada CUs, which includes CUs in
Tom> /lib64/ld-linux-x86-64.so.2 and /lib64/libc.so.6.
Tom> Fix this by:
Tom> - adding a new lang_matcher parameter to the expand_symtabs_matching
Tom> function, and
Tom> - using that new parameter in the expand_symtabs_matching call in
Tom> ada_add_global_exceptions.
Thanks for doing this.
Tom> +void
Tom> +dwarf2_per_cu_data::ensure_lang (dwarf2_per_objfile *per_objfile)
Tom> +{
Tom> + if (lang (false) != language_unknown)
Tom> + return;
Tom> +
Tom> + section->read (per_objfile->objfile);
Tom> + cutu_reader reader (this, per_objfile);
I think the cutu_reader constructor ensures the section is read in.
I really wish this business about CU language discovery, cutu_reader,
etc, weren't such a mess of spaghetti. Not caused by you though.
I tend to think this information should be reliable after the initial
scan. So maybe the index readers should pre-read all this in the
background or something like that.
Approved-By: Tom Tromey <tom@tromey.com>
Tom
More information about the Gdb-patches
mailing list