From 2002c0099f9fb4d737930acd66733cfad39f68f1 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 16 Jan 2024 19:10:12 -0700 Subject: Fix crash in struct-with-sig-2.exp with debug-names target board When I run the struct-with-sig-2.exp test with the .debug_names-using target board, I see a gdb crash. This happens because the reader throws an exception without calling finalize_all_units. This causes an assertion failure later because the number of CUs and TUs doesn't match. The fix is to clear 'all_units' on failure. Approved-By: Tom de Vries --- gdb/dwarf2/read.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 1b5e566..8f2b7a3 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -5193,6 +5193,8 @@ create_all_units (dwarf2_per_objfile *per_objfile) if (!dwz->types.empty ()) { + per_objfile->per_bfd->all_units.clear (); + /* See enhancement PR symtab/30838. */ error (_("Dwarf Error: .debug_types section not supported in dwz file")); } -- cgit v1.1