mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-28 20:43:45 +08:00
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.
This commit is contained in:
parent
f2e25d931f
commit
800f6ec8e2
@ -1,3 +1,11 @@
|
||||
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.
|
||||
|
@ -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. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* 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.
|
||||
|
||||
@ -46,17 +46,11 @@ long md_pcrel_from_section (struct fix *, segT);
|
||||
#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 *);
|
||||
|
@ -1,3 +1,8 @@
|
||||
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.
|
||||
|
@ -1,17 +1,25 @@
|
||||
.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
|
||||
|
@ -3,21 +3,13 @@ if ![is_elf_format] then {
|
||||
}
|
||||
|
||||
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-*-*]
|
||||
|
Loading…
Reference in New Issue
Block a user