diff options
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/tc-m68k.c | 12 | ||||
-rw-r--r-- | gas/config/tc-m68k.h | 2 |
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 |