gas/
authorRichard Sandiford <rdsandiford@googlemail.com>
Thu, 8 Sep 2011 12:18:28 +0000 (12:18 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Thu, 8 Sep 2011 12:18:28 +0000 (12:18 +0000)
PR gas/13167
* dwarf2dbg.c (dwarf2_flush_pending_lines): Use symbol_temp_new_now.

gas/testsuite/
PR gas/13167
* gas/ia64/pr13167.d, gas/ia64/pr13167.s: New test.
* gas/ia64/ia64.exp: Run it.

gas/ChangeLog
gas/dwarf2dbg.c
gas/testsuite/ChangeLog
gas/testsuite/gas/ia64/ia64.exp
gas/testsuite/gas/ia64/pr13167.d [new file with mode: 0644]
gas/testsuite/gas/ia64/pr13167.s [new file with mode: 0644]

index 35550ec0ce711d5496e87433a826b732bd5e7f87..383bae32f2d9de0b88e2f0afc313267cf12eedad 100644 (file)
@@ -1,3 +1,8 @@
+2011-09-08  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR gas/13167
+       * dwarf2dbg.c (dwarf2_flush_pending_lines): Use symbol_temp_new_now.
+
 2011-09-05  Richard Sandiford  <rdsandiford@googlemail.com>
 
        PR gas/13024
index e95f74866ccd27e48be7e4477da3c49f30c362a2..76f5e84f53fa903547e08504fab5682a8fa3450c 100644 (file)
@@ -313,7 +313,7 @@ dwarf2_flush_pending_lines (symbolS *label)
       struct line_entry *e;
 
       if (!label)
-       label = symbol_temp_new (now_seg, 0, frag_now);
+       label = symbol_temp_new_now ();
 
       for (e = pending_lines; e; e = e->next)
        e->label = label;
index 2a70ae7db618d7860a7387c687072c6120706913..3985ae639ad9020a089579960414e5e7b4601d8c 100644 (file)
@@ -1,3 +1,9 @@
+2011-09-08  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR gas/13167
+       * gas/ia64/pr13167.d, gas/ia64/pr13167.s: New test.
+       * gas/ia64/ia64.exp: Run it.
+
 2011-09-07  Andreas Schwab  <schwab@linux-m68k.org>
 
        * gas/m68k/all.exp: Run "mode5" test also with -mcpu=5200.
index 221b8d479445680b8dabcf84c6f5001d0db54184..669a1125ccfa70cf6af87c450897835a4ac01c95 100644 (file)
@@ -94,4 +94,7 @@ if [istarget "ia64-*"] then {
        run_dump_test "slotcount"
     }
 
+    if { [istarget "ia64-*-elf*"] || [istarget "ia64-*-linux*"] } {
+       run_dump_test "pr13167"
+    }
 }
diff --git a/gas/testsuite/gas/ia64/pr13167.d b/gas/testsuite/gas/ia64/pr13167.d
new file mode 100644 (file)
index 0000000..d75c7e9
--- /dev/null
@@ -0,0 +1,43 @@
+#readelf: -wl
+
+Raw dump of debug contents of section \.debug_line:
+
+  Offset:                      0x0
+  Length:                      51
+  DWARF Version:               2
+  Prologue Length:             26
+  Minimum Instruction Length:  1
+  Initial value of 'is_stmt':  1
+  Line Base:                   -5
+  Line Range:                  14
+  Opcode Base:                 13
+
+ Opcodes:
+  Opcode 1 has 0 args
+  Opcode 2 has 1 args
+  Opcode 3 has 1 args
+  Opcode 4 has 1 args
+  Opcode 5 has 1 args
+  Opcode 6 has 0 args
+  Opcode 7 has 0 args
+  Opcode 8 has 0 args
+  Opcode 9 has 1 args
+  Opcode 10 has 0 args
+  Opcode 11 has 0 args
+  Opcode 12 has 1 args
+
+ The Directory Table is empty\.
+
+ The File Name Table:
+  Entry        Dir     Time    Size    Name
+  1    0       0       0       x\.c
+
+ Line Number Statements:
+  Extended opcode 2: set Address to 0x1
+  Special opcode 8: advance Address by 0 to 0x1 and Line by 3 to 4
+  Special opcode 216: advance Address by 15 to 0x10 and Line by 1 to 5
+  Special opcode 228: advance Address by 16 to 0x20 and Line by -1 to 4
+  Advance PC by 16 to 0x30
+  Extended opcode 1: End of Sequence
+
+
diff --git a/gas/testsuite/gas/ia64/pr13167.s b/gas/testsuite/gas/ia64/pr13167.s
new file mode 100644 (file)
index 0000000..920f11f
--- /dev/null
@@ -0,0 +1,9 @@
+        .file 1 "x.c"
+        mov r1 = r35
+        .loc 1 4 0
+        nop 0
+        mov r36 = r8
+        br.call.sptk.many b0 = _U_Qfcnvff_quad_to_sgl#
+        .loc 1 5 0
+        .loc 1 4 0
+        mov r1 = r35