This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Fix crash on reading gcc HEAD Fortran module


On Mon, 01 Sep 2008 17:29:56 +0200, Daniel Jacobowitz wrote:
> please complain about children in DW_TAG_imported_declaration even in
> Fortran (see the comment above your change).

Originally I expected these complaints are just for detected DWARF violations:
	_("Offset %d out of bounds for DW_AT_ranges attribute"),
But they are produced even just for unsupported DWARF features:
	complaint (&symfile_complaints, _("unsupported tag: '%s'"),

Therefore it should always complain to any such DW_TAG_imported_* tag as they
are always at least unsupported.  (And it does not matter if some of their
forms with or without children are invalid for DWARF or not.)

[ approval requested ]


Thanks,
Jan
2008-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Stay compatible after the GCC PR fortran/29635 fix.
	* dwarf2read.c (process_die <DW_TAG_imported_module>)
	(process_die <DW_TAG_imported_module>): Do not assert anything about
	these unsupported tags.

--- ./gdb/dwarf2read.c	29 Aug 2008 17:06:05 -0000	1.278
+++ ./gdb/dwarf2read.c	1 Sep 2008 16:35:17 -0000
@@ -2760,10 +2760,10 @@ process_die (struct die_info *die, struc
 	 information contained in these.  DW_TAG_imported_declaration
 	 dies shouldn't have children; DW_TAG_imported_module dies
 	 shouldn't in the C++ case, but conceivably could in the
-	 Fortran case, so we'll have to replace this gdb_assert if
-	 Fortran compilers start generating that info.  */
+	 Fortran case.  */
       processing_has_namespace_info = 1;
-      gdb_assert (die->child == NULL);
+      complaint (&symfile_complaints, _("unsupported tag: '%s'"),
+		 dwarf_tag_name (die->tag));
       break;
     default:
       new_symbol (die, NULL, cu);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]