[gdb/symtab] Save modules in .debug_names
authorTom de Vries <tdevries@suse.de>
Mon, 11 May 2020 15:13:49 +0000 (17:13 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 11 May 2020 15:13:49 +0000 (17:13 +0200)
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.

gdb/ChangeLog
gdb/dwarf2/index-write.c

index 3b04b6c8d9158dc3ef2385543227d3d9a35d31b0..a0921f4667fd280072b9e55ce49a7a54f7a04342 100644 (file)
@@ -1,3 +1,8 @@
+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
index fc42816b1e7c517ef93649a949fb74f000d53acb..eabfe5d682b3ff550ea29e1d787645ceaf360d64 100644 (file)
@@ -1209,6 +1209,8 @@ private:
          }
       case STRUCT_DOMAIN:
        return DW_TAG_structure_type;
+      case MODULE_DOMAIN:
+       return DW_TAG_module;
       default:
        return 0;
       }