* config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here.
authorJeff Law <law@redhat.com>
Wed, 15 Sep 1999 13:19:32 +0000 (13:19 +0000)
committerJeff Law <law@redhat.com>
Wed, 15 Sep 1999 13:19:32 +0000 (13:19 +0000)
        (md_assemble): To here.  Tweak address generation.

gas/ChangeLog
gas/config/tc-hppa.c

index f8f3b45e7bca3e0cc40f0e7737c452d88a605a31..cd141f2b64c24c637000716dbc489caf84506d96 100644 (file)
@@ -1,5 +1,8 @@
 Wed Sep 15 05:14:32 1999  Jeffrey A Law  (law@cygnus.com)
 
+       * config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here.
+       (md_assemble): To here.  Tweak address generation.
+
        * config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF.  Declare
        debug_line.
        (md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF.
index eda75aa69e119a9107ffe0bd308b3248900d2581..50a9f5a0d541f036daf23740bc43d10e0e2541bc 100644 (file)
@@ -1460,9 +1460,19 @@ md_assemble (str)
 
 #ifdef OBJ_ELF
   if (debug_type == DEBUG_DWARF2)
-    dwarf2_where (&debug_line);
-#endif
+    {
+      bfd_vma addr;
+
+      /* I haven't got a clue why the -8 is necessary, but this
+        seems to work.  Someone should really document what all
+        the frag nonsense does and more precisely what the dwarf2
+        code needs.  */
 
+      addr = frag_now->fr_address + frag_now_fix () - 8;
+      dwarf2_gen_line_info (addr, &debug_line);
+      dwarf2_where (&debug_line);
+    }
+#endif
 }
 
 /* Do the real work for assembling a single instruction.  Store results
@@ -3377,16 +3387,6 @@ pa_ip (str)
       break;
     }
 
-#ifdef OBJ_ELF
-  if (debug_type == DEBUG_DWARF2)
-    {
-      bfd_vma addr;
-
-      addr = frag_now->fr_address + frag_now_fix ();
-      dwarf2_gen_line_info (addr, &debug_line);
-    }
-#endif
-
   the_insn.opcode = opcode;
 }