aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-05-11 17:13:49 +0200
committerTom de Vries <tdevries@suse.de>2020-05-11 17:13:49 +0200
commit7666722fce2a26a32d9d931e9ce0fea8a7209185 (patch)
tree9ed39495cec5f5df982604d612e8e54cd6bece31
parent3ee6bb113afd87a408dd8551768d801d04556ffd (diff)
downloadgdb-7666722fce2a26a32d9d931e9ce0fea8a7209185.zip
gdb-7666722fce2a26a32d9d931e9ce0fea8a7209185.tar.gz
gdb-7666722fce2a26a32d9d931e9ce0fea8a7209185.tar.bz2
[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 <tdevries@suse.de> * dwarf2/index-write.c (debug_names::psymbol_tag): Handle MODULE_DOMAIN.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2/index-write.c2
2 files changed, 7 insertions, 0 deletions
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 <tdevries@suse.de>
+ * dwarf2/index-write.c (debug_names::psymbol_tag): Handle
+ MODULE_DOMAIN.
+
+2020-05-11 Tom de Vries <tdevries@suse.de>
+
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;
}