aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/config/tc-m68k.c12
-rw-r--r--gas/config/tc-m68k.h2
3 files changed, 22 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2c3ea50..d665ac4 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,11 @@
+2001-07-17 Andreas Schwab <schwab@suse.de>
+
+ * config/tc-m68k.c (md_pseudo_table) [OBJ_ELF]: Add .file and
+ .loc.
+ (md_assemble) [OBJ_ELF]: Call dwarf2_emit_insn before emitting
+ insn.
+ * config/tc-m68k.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
+
2001-07-17 matthew green <mrg@eterna.com.au>
* config/tc-i386.c (comment_chars): Don't use '/' as comment start if
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index a15d9f5..32e18f7 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -24,6 +24,7 @@
#include "as.h"
#include "obstack.h"
#include "subsegs.h"
+#include "dwarf2dbg.h"
#include "opcode/m68k.h"
#include "m68k-parse.h"
@@ -558,6 +559,12 @@ const pseudo_typeS md_pseudo_table[] =
{"extend", float_cons, 'x'},
{"ldouble", float_cons, 'x'},
+#ifdef OBJ_ELF
+ /* Dwarf2 support for Gcc. */
+ {"file", dwarf2_directive_file, 0},
+ {"loc", dwarf2_directive_loc, 0},
+#endif
+
/* The following pseudo-ops are supported for MRI compatibility. */
{"chip", s_chip, 0},
{"comline", s_space, 1},
@@ -3612,6 +3619,11 @@ md_assemble (str)
current_label = NULL;
}
+#ifdef OBJ_ELF
+ /* Tie dwarf2 debug info to the address at the start of the insn. */
+ dwarf2_emit_insn (0);
+#endif
+
if (the_ins.nfrag == 0)
{
/* No frag hacking involved; just put it out */
diff --git a/gas/config/tc-m68k.h b/gas/config/tc-m68k.h
index 1631e53..56879d2 100644
--- a/gas/config/tc-m68k.h
+++ b/gas/config/tc-m68k.h
@@ -233,3 +233,5 @@ extern struct relax_type md_relax_table[];
if (aim==0 && this_state== 4) { /* hard encoded from tc-m68k.c */ \
aim=this_type->rlx_forward+1; /* Force relaxation into word mode */ \
}
+
+#define DWARF2_LINE_MIN_INSN_LENGTH 2