aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-d10v.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-09-10 14:31:23 +0000
committerAlan Modra <amodra@gmail.com>2009-09-10 14:31:23 +0000
commit800f6ec8e25806362f05460ed0e8804b60a59960 (patch)
tree1ca4fb7e1180338817157dc5f8d6918d1bd24327 /gas/config/tc-d10v.c
parentf2e25d931f7fd4e07eea1a0698bfe6aef33087b6 (diff)
downloadgdb-800f6ec8e25806362f05460ed0e8804b60a59960.zip
gdb-800f6ec8e25806362f05460ed0e8804b60a59960.tar.gz
gdb-800f6ec8e25806362f05460ed0e8804b60a59960.tar.bz2
gas/
* config/tc-d10v.c: Include dwarf2dbg.h. (write_long, write_1_short, write_2_short): Call dwarf2_emit_insn. (d10v_frob_label): New function. * config/tc-d10v.h (d10v_frob_label): Declare. (tc_frob_label): Define as d10v_frob_label. gas/testsuite/ * gas/lns/lns-common-1.s: Use two nops between each .loc. * gas/lns/lns.exp: Don't exclude d10v.
Diffstat (limited to 'gas/config/tc-d10v.c')
-rw-r--r--gas/config/tc-d10v.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index 9d5a92b..339eb74 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1,5 +1,6 @@
/* tc-d10v.c -- Assembler code for the Mitsubishi D10V
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
+ 2007, 2009
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -24,6 +25,7 @@
#include "subsegs.h"
#include "opcode/d10v.h"
#include "elf/ppc.h"
+#include "dwarf2dbg.h"
const char comment_chars[] = ";";
const char line_comment_chars[] = "#";
@@ -610,6 +612,7 @@ write_long (unsigned long insn, Fixups *fx)
int i, where;
char *f = frag_more (4);
+ dwarf2_emit_insn (4);
insn |= FM11;
number_to_chars_bigendian (f, insn, 4);
@@ -645,6 +648,7 @@ write_1_short (struct d10v_opcode *opcode,
char *f = frag_more (4);
int i, where;
+ dwarf2_emit_insn (4);
if (opcode->exec_type & PARONLY)
as_fatal (_("Instruction must be executed in parallel with another instruction."));
@@ -1059,6 +1063,7 @@ write_2_short (struct d10v_opcode *opcode1,
}
f = frag_more (4);
+ dwarf2_emit_insn (4);
number_to_chars_bigendian (f, insn, 4);
/* Process fixup chains. fx refers to insn2 when j == 0, and to
@@ -1626,6 +1631,15 @@ d10v_cleanup (void)
return 1;
}
+void
+d10v_frob_label (symbolS *lab)
+{
+ d10v_cleanup ();
+ symbol_set_frag (lab, frag_now);
+ S_SET_VALUE (lab, (valueT) frag_now_fix ());
+ dwarf2_emit_label (lab);
+}
+
/* Like normal .word, except support @word.
Clobbers input_line_pointer, checks end-of-line. */