* dwarf2dbg.c (dwarf2_gen_line_info): Do emit duplicate line
authorGeoffrey Keating <geoffk@geoffk.org>
Wed, 17 Apr 2002 23:08:42 +0000 (23:08 +0000)
committerGeoffrey Keating <geoffk@geoffk.org>
Wed, 17 Apr 2002 23:08:42 +0000 (23:08 +0000)
numbers, gdb relies on them to detect the start of the prologue.

gas/ChangeLog
gas/dwarf2dbg.c

index 30ac042f2875f2a04c68eac71b5ac5442323d619..278ea244f1c9f6e668dee2ed4b02497046010675 100644 (file)
@@ -1,3 +1,8 @@
+2002-04-17  Geoffrey Keating  <geoffk@redhat.com>
+
+       * dwarf2dbg.c (dwarf2_gen_line_info): Do emit duplicate line
+       numbers, gdb relies on them to detect the start of the prologue.
+
 2002-04-17  Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
        * config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to
index 6e622067031f072704a128a8ba94dafbfa8f147f..81cbf8a7d2572d3dab51a71ad469c9892d9d149f 100644 (file)
@@ -237,8 +237,12 @@ dwarf2_gen_line_info (ofs, loc)
   if (loc->filenum == 0 || loc->line == 0)
     return;
 
-  /* Don't emit sequences of line symbols for the same line. */
-  if (line == loc->line && filenum == loc->filenum)
+  /* Don't emit sequences of line symbols for the same line when the
+     symbols apply to assembler code.  It is necessary to emit
+     duplicate line symbols when a compiler asks for them, because GDB
+     uses them to determine the end of the prologue.  */
+  if (debug_type == DEBUG_DWARF2 
+      && line == loc->line && filenum == loc->filenum)
     return;
 
   line = loc->line;