From ca5f395d6255337974262b4a6f40da531fcf6204 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Tue, 23 Jun 2009 19:09:54 +0000 Subject: [PATCH] * dwarf2read.c (dwarf_decode_lines): Ignore rows where is_stmt is 0. Set basic_block to 0 after a special opcode. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2read.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b02d5ae..93b71ac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2009-06-23 Cary Coutant + + * dwarf2read.c (dwarf_decode_lines): Ignore rows where is_stmt is 0. + Set basic_block to 0 after a special opcode. + 2009-06-23 Jan Kratochvil Fix a regression by the mmap patch from 2009-06-16. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 9c24f8e..f5901c7 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -7353,7 +7353,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, else { lh->file_names[file - 1].included_p = 1; - if (!decode_for_pst_p) + if (!decode_for_pst_p && is_stmt) { if (last_subfile != current_subfile) { @@ -7368,7 +7368,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, record_line (current_subfile, line, addr); } } - basic_block = 1; + basic_block = 0; } else switch (op_code) { @@ -7433,7 +7433,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, else { lh->file_names[file - 1].included_p = 1; - if (!decode_for_pst_p) + if (!decode_for_pst_p && is_stmt) { if (last_subfile != current_subfile) { -- 2.7.4