From 7666722fce2a26a32d9d931e9ce0fea8a7209185 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 11 May 2020 17:13:49 +0200 Subject: [PATCH] [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. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2/index-write.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3b04b6c8d91..a0921f4667f 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 fc42816b1e7..eabfe5d682b 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; } -- 2.30.2