public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Fix crash in struct-with-sig-2.exp with debug-names target board
@ 2024-01-17 13:17 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2024-01-17 13:17 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2002c0099f9fb4d737930acd66733cfad39f68f1

commit 2002c0099f9fb4d737930acd66733cfad39f68f1
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jan 16 19:10:12 2024 -0700

    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 <tdevries@suse.de>

Diff:
---
 gdb/dwarf2/read.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 1b5e566bb01..8f2b7a35f27 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"));
 	}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-17 13:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-17 13:17 [binutils-gdb] Fix crash in struct-with-sig-2.exp with debug-names target board Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).