[Bug symtab/29381] [gdb, debug-types, debug-names] read.h:309: internal-error: set_length: Assertion `m_length == length' failed.
vries at gcc dot gnu.org
sourceware-bugzilla@sourceware.org
Tue Jul 19 10:24:11 GMT 2022
https://sourceware.org/bugzilla/show_bug.cgi?id=29381
--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #2)
> Zooming in on the actual assert, we have:
This fixes the length discrepancy:
...
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 143bcfb5374..490cc3dd0b2 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -4590,7 +4590,8 @@ create_cus_from_debug_names_list (dwarf2_per_bfd
*per_bfd,
dwarf2_section_info §ion,
bool is_dwz)
{
- if (!map.augmentation_is_gdb)
+ if (!map.augmentation_is_gdb
+ || (map.tu_count > 0 && per_bfd->types.size () == 0))
{
for (uint32_t i = 0; i < map.cu_count; ++i)
{
...
and makes the assert disappear.
But in combination with the "[gdbsupport] Use task size in parallel_for_each"
patch we run instead into:
...
/home/vries/gdb_versions/devel/src/gdb/dwarf2/read.h:298: internal-error:
length: Assertion `m_length != 0' failed.
...
because we still have those duplicates.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Gdb-prs
mailing list