* 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.
+2009-09-10 Alan Modra <amodra@bigpond.net.au>
+
+ * 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.
+
2009-09-10 Alan Modra <amodra@bigpond.net.au>
* config/tc-d30v.c (d30v_frob_label): Call dwarf2_emit_label.
/* 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.
#include "subsegs.h"
#include "opcode/d10v.h"
#include "elf/ppc.h"
+#include "dwarf2dbg.h"
const char comment_chars[] = ";";
const char line_comment_chars[] = "#";
int i, where;
char *f = frag_more (4);
+ dwarf2_emit_insn (4);
insn |= FM11;
number_to_chars_bigendian (f, insn, 4);
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."));
}
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
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. */
/* tc-d10v.h -- Header file for tc-d10v.c.
- Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2007
+ Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2007, 2009
Free Software Foundation, Inc.
Written by Martin Hunt, Cygnus Support.
#define md_number_to_chars number_to_chars_bigendian
int d10v_cleanup (void);
+void d10v_frob_label (symbolS *);
#define md_after_pass_hook() d10v_cleanup ()
#define md_cleanup() d10v_cleanup ()
#define md_do_align(a,b,c,d,e) d10v_cleanup ()
-#define tc_frob_label(sym) \
- do \
- { \
- d10v_cleanup (); \
- symbol_set_frag (sym, frag_now); \
- S_SET_VALUE (sym, (valueT) frag_now_fix ()); \
- } \
- while (0)
+#define tc_frob_label(sym) d10v_frob_label (sym)
#define tc_fix_adjustable(FIX) d10v_fix_adjustable(FIX)
bfd_boolean d10v_fix_adjustable (struct fix *);
+2009-09-11 Alan Modra <amodra@bigpond.net.au>
+
+ * gas/lns/lns-common-1.s: Use two nops between each .loc.
+ * gas/lns/lns.exp: Don't exclude d10v.
+
2009-09-09 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* gas/sh/sh64/syntax-1.s: Regenerate.
.file 1 "foo.c"
.loc 1 1
nop
+ nop
.loc 1 2 3
nop
+ nop
.loc 1 3 prologue_end
nop
+ nop
.loc 1 4 0 epilogue_begin
nop
+ nop
.loc 1 5 isa 1 basic_block
nop
+ nop
.loc 1 6 is_stmt 0
nop
+ nop
.loc 1 7 is_stmt 1
nop
+ nop
.loc 1 7 discriminator 1
nop
+ nop
}
run_list_test "lns-diag-1" ""
-
-# Does not work on targets that do not generate line number
-# information (d10v).
-if {![istarget d10v-*-*]} {
- run_dump_test "lns-duplicate"
-}
+run_dump_test "lns-duplicate"
# ??? Won't work on targets that don't have a bare "nop" insn.
# Perhaps we could arrange for an include file or something that
# defined a macro...
-# Nor does it work on targets that do not generate line number
-# information (d10v).
if {
- ![istarget d10v-*-*]
- && ![istarget i370-*-*]
+ ![istarget i370-*-*]
&& ![istarget i960-*-*]
&& ![istarget mcore-*-*]
&& ![istarget or32-*-*]