* read.c (emit_expr_fix): Handle size 3.
authorAlan Modra <amodra@gmail.com>
Tue, 8 Sep 2009 10:36:39 +0000 (10:36 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 8 Sep 2009 10:36:39 +0000 (10:36 +0000)
* config/tc-avr.c (md_assemble): Call dwarf2_emit_insn.
* config/tc-d30v.c (write_long, write_1_short,
write_2_short, md_assemble): Likewise.
* config/tc-dlx.c (md_assemble): Likewise.
* config/tc-i860.c (md_assemble): Likewise.
* config/tc-mn10200.c (md_assemble): Likewise.
* config/tc-pj.c (md_assemble): Likewise.
* config/tc-vax.c (md_assemble): Likewise.

gas/ChangeLog
gas/config/tc-avr.c
gas/config/tc-d30v.c
gas/config/tc-dlx.c
gas/config/tc-i860.c
gas/config/tc-mn10200.c
gas/config/tc-pj.c
gas/config/tc-vax.c
gas/read.c

index dbb2227505c52e347ebedbac5241073635ee6505..d9c2113f53880412aed80e30fcad4cda32f76352 100644 (file)
@@ -1,3 +1,15 @@
+2009-09-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * read.c (emit_expr_fix): Handle size 3.
+       * config/tc-avr.c (md_assemble): Call dwarf2_emit_insn.
+       * config/tc-d30v.c (write_long, write_1_short,
+       write_2_short, md_assemble): Likewise.
+       * config/tc-dlx.c (md_assemble): Likewise.
+       * config/tc-i860.c (md_assemble): Likewise.
+       * config/tc-mn10200.c (md_assemble): Likewise.
+       * config/tc-pj.c (md_assemble): Likewise.
+       * config/tc-vax.c (md_assemble): Likewise.
+
 2009-09-07  Daniel Gutson  <dgutson@codesourcery.com>
 
        * config/tc-arm.c (arm_cpus): cortex-r4f CPU added.
index 5f243b43cb5b687ed606cdc10731d9be0440b2de..9d14f6418ea2750ec388a3590981b7c275ce2c2c 100644 (file)
@@ -1366,6 +1366,8 @@ md_assemble (char *str)
   if (!avr_opt.all_opcodes && (opcode->isa & avr_mcu->isa) != opcode->isa)
     as_bad (_("illegal opcode %s for mcu %s"), opcode->name, avr_mcu->name);
 
+  dwarf2_emit_insn (0);
+
   /* We used to set input_line_pointer to the result of get_operands,
      but that is wrong.  Our caller assumes we don't change it.  */
   {
index 5e3e96efb9a864f5900f7345d42177512d79c82e..3e95375626d88576bd4ea5f38cf36464dea1ff15 100644 (file)
@@ -23,6 +23,7 @@
 #include "safe-ctype.h"
 #include "subsegs.h"
 #include "opcode/d30v.h"
+#include "dwarf2dbg.h"
 
 const char comment_chars[]        = ";";
 const char line_comment_chars[]   = "#";
@@ -593,6 +594,7 @@ write_long (struct d30v_insn *opcode ATTRIBUTE_UNUSED,
   int i, where;
   char *f = frag_more (8);
 
+  dwarf2_emit_insn (8);
   insn |= FM11;
   d30v_number_to_chars (f, insn, 8);
 
@@ -620,6 +622,7 @@ write_1_short (struct d30v_insn *opcode,
   char *f = frag_more (8);
   int i, where;
 
+  dwarf2_emit_insn (8);
   if (warn_nops == NOP_ALL)
     as_warn (_("%s NOP inserted"), use_sequential ?
             _("sequential") : _("parallel"));
@@ -1087,6 +1090,7 @@ write_2_short (struct d30v_insn *opcode1,
     }
 
   f = frag_more (8);
+  dwarf2_emit_insn (8);
   d30v_number_to_chars (f, insn, 8);
 
   /* If the previous instruction was a 32-bit multiply but it is put into a
@@ -1684,6 +1688,7 @@ md_assemble (char *str)
              else
                {
                  f = frag_more (8);
+                 dwarf2_emit_insn (8);
                  d30v_number_to_chars (f, NOP2, 8);
 
                  if (warn_nops == NOP_ALL || warn_nops == NOP_MULTIPLY)
index 65e4b552f33d1e25efc7e59683a6c592cf1f49df..6cf1fcd1a49c5ed47a9734a8efee320ff51755a4 100644 (file)
@@ -909,6 +909,8 @@ md_assemble (char *str)
   know (str);
   machine_ip (str);
   toP = frag_more (4);
+  dwarf2_emit_insn (4);
+
   /* Put out the opcode.  */
   md_number_to_chars (toP, the_insn.opcode, 4);
 
index ec9bda8a33e840a939fb3f72f443f08192f920a1..32aed0fc7a93d0d82c50eb1c49e10493fda5d758 100644 (file)
@@ -408,6 +408,7 @@ md_assemble (char *str)
        as_warn (_("An instruction was expanded (%s)"), str);
     }
 
+  dwarf2_emit_insn (0);
   i = 0;
   do
     {
index fa78d53da3015318c88721ae607b70621c4098ba..4f7cccb51e5070cd1562e2b6e5d41d332a1fce75 100644 (file)
@@ -1,6 +1,6 @@
 /* tc-mn10200.c -- Assembler code for the Matsushita 10200
    Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006, 2007  Free Software Foundation, Inc.
+   2005, 2006, 2007, 2009  Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -1156,6 +1156,7 @@ keep_going:
     abort ();
 
   /* Write out the instruction.  */
+  dwarf2_emit_insn (0);
   if (relaxable && fc > 0)
     {
       /* On a 64-bit host the size of an 'int' is not the same
index 1c8471f575df9823dcc02947b3b8e807d7966fdc..8f49e8f70aeada8d3c1353c68934bc0890f568c4 100644 (file)
@@ -261,6 +261,7 @@ md_assemble (char *str)
       return;
     }
 
+  dwarf2_emit_insn (0);
   if (opcode->opcode == -1)
     {
       /* It's a fake opcode.  Dig out the args and pretend that was
index 7db0991035c1ddc078fac2d00c202c7b6825ab28..33353dab4b02d7286aab4570d33a361dd4638840 100644 (file)
@@ -2713,6 +2713,7 @@ md_assemble (char *instruction_string)
   if (need_pass_2 || goofed)
     return;
 
+  dwarf2_emit_insn (0);
   /* Emit op-code.  */
   /* Remember where it is, in case we want to modify the op-code later.  */
   opcode_low_byteP = frag_more (v.vit_opcode_nbytes);
index 9c38bc86252e2f83cdb7f5ff416227e880c9577a..5a384a655d2eb48e04a2169333c21b80cd6b8b28 100644 (file)
@@ -4265,6 +4265,9 @@ emit_expr_fix (expressionS *exp, unsigned int nbytes, fragS *frag, char *p)
       case 2:
        r = BFD_RELOC_16;
        break;
+      case 3:
+       r = BFD_RELOC_24;
+       break;
       case 4:
        r = BFD_RELOC_32;
        break;