Jan Kratochvil 16c47e7
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
Jan Kratochvil 16c47e7
index 6a98d57..9fa9c3c 100644
Jan Kratochvil 16c47e7
--- a/gdb/dwarf2read.c
Jan Kratochvil 16c47e7
+++ b/gdb/dwarf2read.c
Jan Kratochvil 16c47e7
@@ -10371,6 +10371,9 @@ dwarf_decode_lines (struct line_header *lh, const char *comp_dir, bfd *abfd,
Jan Kratochvil 16c47e7
 
Jan Kratochvil 16c47e7
 	  if (op_code >= lh->opcode_base)
Jan Kratochvil 16c47e7
 	    {
Jan Kratochvil 16c47e7
+	      CORE_ADDR saved_address = address;
Jan Kratochvil 16c47e7
+	      unsigned int saved_line = line;
Jan Kratochvil 16c47e7
+
Jan Kratochvil 16c47e7
 	      /* Special operand.  */
Jan Kratochvil 16c47e7
 	      adj_opcode = op_code - lh->opcode_base;
Jan Kratochvil 16c47e7
 	      address += (((op_index + (adj_opcode / lh->line_range))
Jan Kratochvil 16c47e7
@@ -10383,7 +10386,8 @@ dwarf_decode_lines (struct line_header *lh, const char *comp_dir, bfd *abfd,
Jan Kratochvil 16c47e7
 		dwarf2_debug_line_missing_file_complaint ();
Jan Kratochvil 16c47e7
 	      /* For now we ignore lines not starting on an
Jan Kratochvil 16c47e7
 		 instruction boundary.  */
Jan Kratochvil 16c47e7
-	      else if (op_index == 0)
Jan Kratochvil 16c47e7
+	      else if (op_index == 0
Jan Kratochvil 16c47e7
+		       && (address != saved_address || line != saved_line))
Jan Kratochvil 16c47e7
 		{
Jan Kratochvil 16c47e7
 		  lh->file_names[file - 1].included_p = 1;
Jan Kratochvil 16c47e7
 		  if (!decode_for_pst_p && is_stmt)