From: Tom de Vries Date: Mon, 11 May 2020 15:13:49 +0000 (+0200) Subject: [gdb/symtab] Save modules in .debug_names X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=7666722fce2a26a32d9d931e9ce0fea8a7209185;p=deliverable%2Fbinutils-gdb.git [gdb/symtab] Save modules in .debug_names When running test-case gdb.fortran/info-modules.exp with target board debug-names, I run into: ... FAIL: gdb.fortran/info-modules.exp: info modules: check for entry \ 'info-types-2.f90', '18', 'mod2' ... In more detail, comparing the behaviour of the executable without and with .debug_names section, we have: ... -$ gdb -batch info-modules -ex "info modules" +$ gdb -batch info-modules.debugnames -ex "info modules" All defined modules: -File /data/gdb_versions/devel/src/gdb/testsuite/gdb.fortran/info-types-2.f90: -18: mod2 - File /data/gdb_versions/devel/src/gdb/testsuite/gdb.fortran/info-types.f90: 16: mod1 ... This is due to the fact that the .debug_names section does not contain DW_TAG_module entries. Fix this in debug_names::psymbol_tag. Build and tested on x86_64-linux with target board debug-names. gdb/ChangeLog: 2020-05-11 Tom de Vries * dwarf2/index-write.c (debug_names::psymbol_tag): Handle MODULE_DOMAIN. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3b04b6c8d9..a0921f4667 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-05-11 Tom de Vries + + * dwarf2/index-write.c (debug_names::psymbol_tag): Handle + MODULE_DOMAIN. + 2020-05-11 Tom de Vries PR symtab/25941 diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c index fc42816b1e..eabfe5d682 100644 --- a/gdb/dwarf2/index-write.c +++ b/gdb/dwarf2/index-write.c @@ -1209,6 +1209,8 @@ private: } case STRUCT_DOMAIN: return DW_TAG_structure_type; + case MODULE_DOMAIN: + return DW_TAG_module; default: return 0; }