diff options
author | Tom de Vries <tdevries@suse.de> | 2020-05-11 17:13:49 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2020-05-11 17:13:49 +0200 |
commit | 7666722fce2a26a32d9d931e9ce0fea8a7209185 (patch) | |
tree | 9ed39495cec5f5df982604d612e8e54cd6bece31 | |
parent | 3ee6bb113afd87a408dd8551768d801d04556ffd (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2/index-write.c | 2 |
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; } |