From 7666722fce2a26a32d9d931e9ce0fea8a7209185 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 11 May 2020 17:13:49 +0200 Subject: [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(+) (limited to 'gdb') diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3b04b6c..a0921f4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 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 * dwarf2/read.c (create_cus_from_debug_names_list): Initialize CUs with length 0, if not gdb-produced. diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c index fc42816..eabfe5d 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; } -- cgit v1.1