This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 4/6] DWARF Two Level Line Tables: lnp_state_machine, lnp_reader_state
- From: Simon Marchi <simon dot marchi at ericsson dot com>
- To: Doug Evans <dje at google dot com>
- Cc: gdb-patches <gdb-patches at sourceware dot org>
- Date: Wed, 10 Jun 2015 16:35:52 -0400
- Subject: Re: [PATCH 4/6] DWARF Two Level Line Tables: lnp_state_machine, lnp_reader_state
- Authentication-results: sourceware.org; auth=none
- References: <001a11376bdcb0959e051717abd5 at google dot com> <557893A6 dot 1050000 at ericsson dot com> <CADPb22Sfg2-dPUM81b+cjNMOwTfUiz0pfW+5XvcfbE_VXd6vkA at mail dot gmail dot com>
> Yikes.
> My bad, thanks for catching this.
>
> LGTM
Thanks. I pushed this:
>From e815d2d2714a395d11abb350eff385931257ed9a Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed, 10 Jun 2015 16:34:16 -0400
Subject: [PATCH] dwarf2read: call dwarf_finish_line when ending a sequence
Commit d9b3de22f33e400f7f409cce3acf6c7dab07dd79 introduced a behaviour
change where dwarf_finish_line was not called anymore when ending a
sequence of machine instructions. This patch restores the original
behaviour.
gdb/ChangeLog:
* dwarf2read.c (dwarf_record_line): Call dwarf_record_line if
end_sequence is true.
---
gdb/ChangeLog | 5 +++++
gdb/dwarf2read.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5b19052..872d88a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-10 Simon Marchi <simon.marchi@ericsson.com>
+
+ * dwarf2read.c (dwarf_record_line): Call dwarf_record_line if
+ end_sequence is true.
+
2015-06-10 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 1e290c3..d79b2e3 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -17658,7 +17658,7 @@ dwarf_record_line (lnp_reader_state *reader, lnp_state_machine *state,
lh->file_names[file - 1].included_p = 1;
if (reader->record_lines_p && is_stmt)
{
- if (state->last_subfile != current_subfile)
+ if (state->last_subfile != current_subfile || end_sequence)
{
dwarf_finish_line (reader->gdbarch, state->last_subfile,
state->address, state->record_line);
--
2.1.4