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.
#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
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;
}