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