PR gas/6656
authorAlan Modra <amodra@gmail.com>
Tue, 5 Aug 2008 08:13:48 +0000 (08:13 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 5 Aug 2008 08:13:48 +0000 (08:13 +0000)
* dwarf2dbg.c (dwarf2_directive_file): Disable gas generated
debug info if we see compiler generated debug info.
(dwarf2_directive_loc): Likewise.  Remove redundant debug_type test.

gas/ChangeLog
gas/dwarf2dbg.c

index e3a4e0774769b047b2d654243127e0d833e274e7..8cba2dbbb0cda9e38bac7fd99d4f3fbd4ded355c 100644 (file)
@@ -1,3 +1,10 @@
+2008-08-05  Alan Modra  <amodra@bigpond.net.au>
+
+       PR gas/6656
+       * dwarf2dbg.c (dwarf2_directive_file): Disable gas generated
+       debug info if we see compiler generated debug info.
+       (dwarf2_directive_loc): Likewise.  Remove redundant debug_type test.
+
 2008-08-04  Alan Modra  <amodra@bigpond.net.au>
 
        * dwarf2dbg.c: Remove superfluous forward function declarations.
index b1c96b5f30d7f2cf49603787a5d74178c54b3f08..b7857f2caa4c600fa969a99616e359b2f81dace4 100644 (file)
@@ -525,6 +525,10 @@ dwarf2_directive_file (int dummy ATTRIBUTE_UNUSED)
       return NULL;
     }
 
+  /* A .file directive implies compiler generated debug information is
+     being supplied.  Turn off gas generated debug info.  */
+  debug_type = DEBUG_NONE;
+
   if (num < (int) files_in_use && files[num].filename != 0)
     {
       as_bad (_("file number %ld already allocated"), (long) num);
@@ -543,7 +547,7 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
 
   /* If we see two .loc directives in a row, force the first one to be
      output now.  */
-  if (dwarf2_loc_directive_seen && debug_type != DEBUG_DWARF2)
+  if (dwarf2_loc_directive_seen)
     dwarf2_emit_insn (0);
 
   filenum = get_absolute_expression ();
@@ -653,6 +657,7 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
 
   demand_empty_rest_of_line ();
   dwarf2_loc_directive_seen = TRUE;
+  debug_type = DEBUG_NONE;
 }
 
 void