diff options
author | Alan Modra <amodra@gmail.com> | 2009-09-10 14:31:23 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-09-10 14:31:23 +0000 |
commit | 800f6ec8e25806362f05460ed0e8804b60a59960 (patch) | |
tree | 1ca4fb7e1180338817157dc5f8d6918d1bd24327 /gas/config/tc-d10v.c | |
parent | f2e25d931f7fd4e07eea1a0698bfe6aef33087b6 (diff) | |
download | gdb-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.c | 16 |
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. */ |