From f27a38390b050e2b546c5265806979bd5203c95c Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 18 Jul 2001 10:25:58 +0000 Subject: [PATCH] * 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. --- gas/ChangeLog | 8 ++++++++ gas/config/tc-m68k.c | 12 ++++++++++++ gas/config/tc-m68k.h | 2 ++ 3 files changed, 22 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index 2c3ea50581..d665ac4b06 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2001-07-17 Andreas Schwab + + * 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 * 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 a15d9f516a..32e18f7427 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 1631e537ec..56879d2b6a 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