diff options
author | Tom de Vries <tdevries@suse.de> | 2021-07-06 10:58:43 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-07-06 10:58:43 +0200 |
commit | 752e419362eae28f7fcf6347b333347e472bc10f (patch) | |
tree | 5a21be53a93c82e0015d7df3254725645737d936 /gdbsupport/common-regcache.h | |
parent | fbc95f1e11facf233e89a9c2b4dde06b9aaf4b86 (diff) | |
download | gdb-752e419362eae28f7fcf6347b333347e472bc10f.zip gdb-752e419362eae28f7fcf6347b333347e472bc10f.tar.gz gdb-752e419362eae28f7fcf6347b333347e472bc10f.tar.bz2 |
[gdb/symtab] Fix skipping of import of C++ CU
Tom Tromey observed that when changing the language in
gdb.dwarf2/imported-unit-bp.exp from c to c++, the test failed.
This is due to this code in process_imported_unit_die:
...
/* We're importing a C++ compilation unit with tag DW_TAG_compile_unit
into another compilation unit, at root level. Regard this as a hint,
and ignore it. */
if (die->parent && die->parent->parent == NULL
&& per_cu->unit_type == DW_UT_compile
&& per_cu->lang == language_cplus)
return;
...
which should have a partial symtabs counterpart.
Add the missing counterpart in process_psymtab_comp_unit.
Tested on x86_64-linux (openSUSE Leap 15.2), no regressions for config:
- using default gcc version 7.5.0
(with 5 unexpected FAILs)
- gcc 10.3.0 and target board
unix/-flto/-O0/-flto-partition=none/-ffat-lto-objects
(with 1000 unexpected FAILs)
gdb/ChangeLog:
2021-07-06 Tom de Vries <tdevries@suse.de>
* dwarf2/read.c (scan_partial_symbols): Skip top-level imports of
c++ CU.
* testsuite/gdb.dwarf2/imported-unit-bp.exp: Moved to ...
* testsuite/gdb.dwarf2/imported-unit-bp.exp.tcl: ... here.
* testsuite/gdb.dwarf2/imported-unit-bp-c++.exp: New test.
* testsuite/gdb.dwarf2/imported-unit-bp-c.exp: New test.
* testsuite/gdb.dwarf2/imported-unit.exp: Update.
Diffstat (limited to 'gdbsupport/common-regcache.h')
0 files changed, 0 insertions, 0 deletions