This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix PR gdb/19208 - SIGSEV while opening Fortran program compiled with ifort
- From: Joel Brobecker <brobecker at adacore dot com>
- To: "Hahnfeld, Jonas" <Hahnfeld at itc dot rwth-aachen dot de>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>, "qiyao at gcc dot gnu dot org" <qiyao at gcc dot gnu dot org>
- Date: Sun, 17 Jan 2016 10:17:57 +0400
- Subject: Re: [PATCH] Fix PR gdb/19208 - SIGSEV while opening Fortran program compiled with ifort
- Authentication-results: sourceware.org; auth=none
- References: <233e961324084b0f857047bcf637c655 at rwthex-s2-b dot rwth-ad dot de> <20160106061946 dot GD4412 at adacore dot com> <8dcce77f86d345348721e0ff02032c74 at rwthex-s2-b dot rwth-ad dot de>
> Ping...
Attached is what I just pushed.
gdb/ChangeLog:
PR gdb/19208
* dwarf2read.c (read_partial_die): Do not call set_objfile_main_name
if the function has no name.
(tested on x86_64-linux, with no Fortran)
> Will this also be included in 7.10.2 (if planned?)
As of today, there isn't going to be a 7.10.2. We're very close to
branching for 7.11, so I don't think it's worth backporting, as
the branch will soon be closed.
I also meant to review your comments regarding the documentation
we have about how to contribute, and haven't had the time. But
thank you for those, because they help us spot areas where the
info may have bitrotten.
--
Joel
>From dc365182240722969f044918ecd3cab00da55502 Mon Sep 17 00:00:00 2001
From: Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
Date: Wed, 6 Jan 2016 10:10:39 +0400
Subject: [PATCH] GDB SIGSEGV opening a Fortran program compiled with ifort
This patch fixes a SIGSEGV when trying to open a Fortran program
compiled with ifort (reproduced using version using version 16.0.1.150).
The error can be reproduce with most, if not any program. For instance,
a single file only containing "end", compiled with no additional flag,
suffices.
gdb/ChangeLog:
PR gdb/19208
* dwarf2read.c (read_partial_die): Do not call set_objfile_main_name
if the function has no name.
---
gdb/ChangeLog | 7 +++++++
gdb/dwarf2read.c | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index fe8fd6c..dbc4b08 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2016-01-17 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de> (tiny change)
+
+ Pushed by Joel Brobecker <brobecker@adacore.com>.
+ PR gdb/19208
+ * dwarf2read.c (read_partial_die): Do not call set_objfile_main_name
+ if the function has no name.
+
2016-01-15 Sandra Loosemore <sandra@codesourcery.com>
* charset.c [PHONY_ICONV] (GDB_DEFAULT_HOST_CHARSET):
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index c410500..1020c12 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -15936,7 +15936,8 @@ read_partial_die (const struct die_reader_specs *reader,
compilers pick up the new representation, we'll support this
practice. */
if (DW_UNSND (&attr) == DW_CC_program
- && cu->language == language_fortran)
+ && cu->language == language_fortran
+ && part_die->name != NULL)
set_objfile_main_name (objfile, part_die->name, language_fortran);
break;
case DW_AT_inline:
--
2.5.0