diff options
author | Tom de Vries <tdevries@suse.de> | 2023-08-10 15:46:30 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-08-10 15:46:30 +0200 |
commit | 62a21046a98d081b5ac07afd0099dfd06465922c (patch) | |
tree | 491c166ec24728c8ccd4153e84b6542d25fc41e3 /gdb | |
parent | fe1a221c88887e2b4bcb7e8430430b341082d7aa (diff) | |
download | binutils-62a21046a98d081b5ac07afd0099dfd06465922c.zip binutils-62a21046a98d081b5ac07afd0099dfd06465922c.tar.gz binutils-62a21046a98d081b5ac07afd0099dfd06465922c.tar.bz2 |
[gdb/symtab] Fix assertion in write_debug_names
When running test-case gdb.dwarf2/pr13961.exp with target-board
cc-with-debug-names, I run into:
...
Running gdb.dwarf2/pr13961.exp ...
gdb compile failed, gdb/dwarf2/index-write.c:1305: internal-error: \
write_debug_names: Assertion `counter == per_bfd->all_units.size ()' failed.
...
This is a regression since commit 542a33e348a ("Only use the per-BFD object to
write a DWARF index"), which did:
...
- gdb_assert (counter == per_objfile->per_bfd->all_comp_units.size ());
+ gdb_assert (counter == per_bfd->all_units.size ());
...
Fix this by reverting to using all_comp_units:
...
gdb_assert (counter == per_bfd->all_comp_units.size ());
...
Tested on x86_64-linux, using target boards unix and cc-with-debug-names.
PR symtab/30741
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30741
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/dwarf2/index-write.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c index 66c5378..fdc3b979 100644 --- a/gdb/dwarf2/index-write.c +++ b/gdb/dwarf2/index-write.c @@ -1302,7 +1302,7 @@ write_debug_names (dwarf2_per_bfd *per_bfd, cooked_index *table, } /* Verify that all units are represented. */ - gdb_assert (counter == per_bfd->all_units.size ()); + gdb_assert (counter == per_bfd->all_comp_units.size ()); gdb_assert (types_counter == per_bfd->all_type_units.size ()); for (const cooked_index_entry *entry : table->all_entries ()) |