* tc-arm.c (all error messages): Normalize capitalization of messages.
authorRichard Earnshaw <richard.earnshaw@arm.com>
Mon, 14 Jan 2002 15:01:04 +0000 (15:01 +0000)
committerRichard Earnshaw <richard.earnshaw@arm.com>
Mon, 14 Jan 2002 15:01:04 +0000 (15:01 +0000)
* tc-arm.h (md_operand): Delete define.
* tc-arm.c (in_my_get_expression): New static variable.
(my_get_expression): Set and clear it.
(md_operand): New function.  If called from my_get_expression
put the error in inst.error.
(output_inst): Now takes argument of instruction being assembled.
Print it out with any error message.
(do_ldst, do_ldstv4, thumb_load_store): Fault attempt to use a store
with '=' syntax.
(end_of_line): Don't update inst.error if it is already set.

gas/ChangeLog
gas/config/tc-arm.c
gas/config/tc-arm.h

index e99a1dd6ffbeca114115302fc381ba2eb1db894a..ed873928fca4ae30c2bab4a2676fe2877a877349 100644 (file)
@@ -1,3 +1,18 @@
+2002-01-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       * tc-arm.c (all error messages): Normalize capitalization of messages.
+
+       * tc-arm.h (md_operand): Delete define.
+       * tc-arm.c (in_my_get_expression): New static variable.
+       (my_get_expression): Set and clear it.
+       (md_operand): New function.  If called from my_get_expression
+       put the error in inst.error.
+       (output_inst): Now takes argument of instruction being assembled.
+       Print it out with any error message.
+       (do_ldst, do_ldstv4, thumb_load_store): Fault attempt to use a store
+       with '=' syntax.
+       (end_of_line): Don't update inst.error if it is already set.
+
 2002-01-11  Richard Earnshaw  <rearnsha@arm.com>
 
        * tc-arm.c ((do_ldst): Fix handling an immediate expression pseudo
index 504adfe48eedd1eaccae798d6d00b1e9abd59952..cffbdaeb9f520f622d552058fb359889ff293c9e 100644 (file)
@@ -1,5 +1,5 @@
 /* tc-arm.c -- Assemble for the ARM
-   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
    Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
        Modified by David Taylor (dtaylor@armltd.co.uk)
@@ -592,8 +592,8 @@ struct reg_map
 struct reg_map all_reg_maps[] =
 {
   {rn_table,        15, NULL, N_("ARM register expected")},
-  {cp_table,        15, NULL, N_("Bad or missing co-processor number")},
-  {cn_table,        15, NULL, N_("Co-processor register expected")},
+  {cp_table,        15, NULL, N_("bad or missing co-processor number")},
+  {cn_table,        15, NULL, N_("co-processor register expected")},
   {fn_table,         7, NULL, N_("FPA register expected")},
   {mav_mvf_table,   15, NULL, N_("Maverick MVF register expected")},
   {mav_mvd_table,   15, NULL, N_("Maverick MVD register expected")},
@@ -800,7 +800,7 @@ static valueT md_chars_to_number    PARAMS ((char *, int));
 static void build_reg_hsh      PARAMS ((struct reg_map *));
 static void insert_reg_alias   PARAMS ((char *, int, struct hash_control *));
 static int create_register_alias       PARAMS ((char *, char *));
-static void output_inst                PARAMS ((void));
+static void output_inst                PARAMS ((const char *));
 static int accum0_required_here PARAMS ((char **));
 static int ld_mode_required_here PARAMS ((char **));
 static void do_branch25         PARAMS ((char *));
@@ -1788,9 +1788,9 @@ static const struct thumb_opcode tinsns[] =
   {"bkpt",     0xbe00,         2,      ARM_EXT_V5T, do_t_bkpt},
 };
 
-#define BAD_ARGS       _("Bad arguments to instruction")
+#define BAD_ARGS       _("bad arguments to instruction")
 #define BAD_PC                 _("r15 not allowed here")
-#define BAD_COND       _("Instruction is not conditional")
+#define BAD_COND       _("instruction is not conditional")
 #define ERR_NO_ACCUM   _("acc0 expected")
 
 static struct hash_control * arm_ops_hsh   = NULL;
@@ -1930,7 +1930,7 @@ add_to_lit_pool ()
     {
       if (next_literal_pool_place >= MAX_LITERAL_POOL_SIZE)
        {
-         inst.error = _("Literal Pool Overflow");
+         inst.error = _("literal pool overflow");
          return FAIL;
        }
 
@@ -2072,7 +2072,7 @@ static void
 s_req (a)
      int a ATTRIBUTE_UNUSED;
 {
-  as_bad (_("Invalid syntax for .req directive."));
+  as_bad (_("invalid syntax for .req directive"));
 }
 
 static void
@@ -2147,10 +2147,10 @@ s_align (unused)
 
   temp = get_absolute_expression ();
   if (temp > max_alignment)
-    as_bad (_("Alignment too large: %d. assumed."), temp = max_alignment);
+    as_bad (_("alignment too large: %d assumed"), temp = max_alignment);
   else if (temp < 0)
     {
-      as_bad (_("Alignment negative. 0 assumed."));
+      as_bad (_("alignment negative. 0 assumed."));
       temp = 0;
     }
 
@@ -2234,7 +2234,7 @@ s_thumb_set (equiv)
   if (*input_line_pointer != ',')
     {
       *end_name = 0;
-      as_bad (_("Expected comma after name \"%s\""), name);
+      as_bad (_("expected comma after name \"%s\""), name);
       *end_name = delim;
       ignore_rest_of_line ();
       return;
@@ -2421,12 +2421,12 @@ s_code (unused)
 
 static void
 end_of_line (str)
-     char * str;
+     char *str;
 {
   skip_whitespace (str);
 
-  if (* str != '\0')
-    inst.error = _("Garbage following instruction");
+  if (*str != '\0' && !inst.error)
+    inst.error = _("garbage following instruction");
 }
 
 static int
@@ -2476,7 +2476,7 @@ reg_required_here (str, shift)
 
   /* In the few cases where we might be able to accept something else
      this error can be overridden.  */
-  sprintf (buff, _("Register expected, not '%.100s'"), start);
+  sprintf (buff, _("register expected, not '%.100s'"), start);
   inst.error = buff;
 
   return FAIL;
@@ -2582,14 +2582,14 @@ co_proc_number (str)
              processor = processor * 10 + *(*str)++ - '0';
              if (processor > 15)
                {
-                 inst.error = _("Illegal co-processor number");
+                 inst.error = _("illegal co-processor number");
                  return FAIL;
                }
            }
        }
       else
        {
-         inst.error = _("Bad or missing co-processor number");
+         inst.error = _("bad or missing co-processor number");
          return FAIL;
        }
     }
@@ -2644,7 +2644,7 @@ cp_reg_required_here (str, where)
 
   /* In the few cases where we might be able to accept something else
      this error can be overridden.  */
-  inst.error = _("Co-processor register expected");
+  inst.error = _("co-processor register expected");
 
   /* Restore the start point.  */
   *str = start;
@@ -2667,7 +2667,7 @@ fp_reg_required_here (str, where)
 
   /* In the few cases where we might be able to accept something else
      this error can be overridden.  */
-  inst.error = _("Floating point register expected");
+  inst.error = _("floating point register expected");
 
   /* Restore the start point.  */
   *str = start;
@@ -2863,7 +2863,7 @@ do_mrs (str)
     skip = 8;
   else
     {
-      inst.error = _("{C|S}PSR expected");
+      inst.error = _("CPSR or SPSR expected");
       return;
     }
 
@@ -2944,7 +2944,7 @@ do_msr (str)
 
       if (value == (unsigned) FAIL)
        {
-         inst.error = _("Invalid constant");
+         inst.error = _("invalid constant");
          return;
        }
 
@@ -3434,7 +3434,7 @@ do_co_reg2c (str)
   /* Unpredictable result if rd or rn is R15.  */
   if (rd == REG_PC || rn == REG_PC)
     as_tsktsk
-      (_("Warning: Instruction unpredictable when using r15"));
+      (_("Warning: instruction unpredictable when using r15"));
 
   if (skip_past_comma (& str) == FAIL
       || cp_reg_required_here (& str, 0) == FAIL)
@@ -4064,7 +4064,7 @@ do_ldrd (str)
   /* inst.instruction has now been zapped with Rd and the addressing mode.  */
   if (rd & 1)          /* Unpredictable result if Rd is odd.  */
     {
-      inst.error = _("Destination register must be even");
+      inst.error = _("destination register must be even");
       return;
     }
 
@@ -4182,6 +4182,8 @@ walk_no_bignums (sp)
   return 0;
 }
 
+static int in_my_get_expression = 0;
+
 static int
 my_get_expression (ep, str)
      expressionS * ep;
@@ -4192,7 +4194,17 @@ my_get_expression (ep, str)
 
   save_in = input_line_pointer;
   input_line_pointer = *str;
+  in_my_get_expression = 1;
   seg = expression (ep);
+  in_my_get_expression = 0;
+
+  if (ep->X_op == O_illegal)
+    {
+      /* We found a bad expression in md_operand().  */
+      *str = input_line_pointer;
+      input_line_pointer = save_in;
+      return 1;
+    }
 
 #ifdef OBJ_AOUT
   if (seg != absolute_section
@@ -4217,7 +4229,7 @@ my_get_expression (ep, str)
              || (ep->X_op_symbol
                  && walk_no_bignums (ep->X_op_symbol)))))
     {
-      inst.error = _("Invalid constant");
+      inst.error = _("invalid constant");
       *str = input_line_pointer;
       input_line_pointer = save_in;
       return 1;
@@ -4228,6 +4240,20 @@ my_get_expression (ep, str)
   return 0;
 }
 
+/* We handle all bad expressions here, so that we can report the faulty 
+   instruction in the error message.  */
+void
+md_operand(expr)
+     expressionS *expr;
+{
+  if (in_my_get_expression)
+    {
+      expr->X_op = O_illegal;
+      if (inst.error == NULL)
+       inst.error = _("bad expression");
+    }
+}
+
 /* UNRESTRICT should be one if <shift> <register> is permitted for this
    instruction.  */
 
@@ -4247,7 +4273,7 @@ decode_shift (str, unrestrict)
 
   if (p == * str)
     {
-      inst.error = _("Shift expression expected");
+      inst.error = _("shift expression expected");
       return FAIL;
     }
 
@@ -4258,7 +4284,7 @@ decode_shift (str, unrestrict)
 
   if (shift == NULL)
     {
-      inst.error = _("Shift expression expected");
+      inst.error = _("shift expression expected");
       return FAIL;
     }
 
@@ -4313,13 +4339,13 @@ decode_shift (str, unrestrict)
             about this though.  */
          if (num == 0)
            {
-             as_warn (_("Shift of 0 ignored."));
+             as_warn (_("shift of 0 ignored."));
              shift = & shift_names[0];
              assert (shift->properties->index == SHIFT_LSL);
            }
          else
            {
-             inst.error = _("Invalid immediate shift");
+             inst.error = _("invalid immediate shift");
              return FAIL;
            }
        }
@@ -4474,7 +4500,7 @@ data_op2 (str)
 
                  if (expr.X_op != O_constant)
                    {
-                     inst.error = _("Constant expression expected");
+                     inst.error = _("constant expression expected");
                      return FAIL;
                    }
 
@@ -4483,7 +4509,7 @@ data_op2 (str)
                      || (expr.X_add_number & 1) != 0
                      || ((unsigned) inst.reloc.exp.X_add_number) > 255)
                    {
-                     inst.error = _("Invalid constant");
+                     inst.error = _("invalid constant");
                      return FAIL;
                    }
                  inst.instruction |= INST_IMMEDIATE;
@@ -4503,7 +4529,7 @@ data_op2 (str)
                                               inst.reloc.exp.X_add_number))
                      == FAIL)
                    {
-                     inst.error = _("Invalid constant");
+                     inst.error = _("invalid constant");
                      return FAIL;
                    }
                }
@@ -4516,7 +4542,7 @@ data_op2 (str)
        }
 
       (*str)++;
-      inst.error = _("Register or shift expression expected");
+      inst.error = _("register or shift expression expected");
       return FAIL;
     }
 }
@@ -4569,11 +4595,11 @@ fp_op2 (str)
              return SUCCESS;
            }
 
-         inst.error = _("Invalid floating point immediate expression");
+         inst.error = _("invalid floating point immediate expression");
          return FAIL;
        }
       inst.error =
-       _("Floating point register or immediate expression expected");
+       _("floating point register or immediate expression expected");
       return FAIL;
     }
 }
@@ -4785,7 +4811,7 @@ do_ldst (str)
 
   if (skip_past_comma (&str) == FAIL)
     {
-      inst.error = _("Address expected");
+      inst.error = _("address expected");
       return;
     }
 
@@ -4874,6 +4900,12 @@ do_ldst (str)
     }
   else if (*str == '=')
     {
+      if ((inst.instruction & LOAD_BIT) == 0)
+       {
+         inst.error = _("invalid pseudo operation");
+         return;
+       }
+
       /* Parse an "ldr Rd, =expr" instruction; this is another pseudo op.  */
       str++;
 
@@ -4885,7 +4917,7 @@ do_ldst (str)
       if (inst.reloc.exp.X_op != O_constant
          && inst.reloc.exp.X_op != O_symbol)
        {
-         inst.error = _("Constant expression expected");
+         inst.error = _("constant expression expected");
          return;
        }
 
@@ -4969,7 +5001,7 @@ do_ldstt (str)
 
   if (skip_past_comma (& str) == FAIL)
     {
-      inst.error = _("Address expected");
+      inst.error = _("address expected");
       return;
     }
 
@@ -5111,7 +5143,7 @@ do_ldstv4 (str)
 
   if (skip_past_comma (& str) == FAIL)
     {
-      inst.error = _("Address expected");
+      inst.error = _("address expected");
       return;
     }
 
@@ -5202,6 +5234,12 @@ do_ldstv4 (str)
     }
   else if (*str == '=')
     {
+      if ((inst.instruction & LOAD_BIT) == 0)
+       {
+         inst.error = _("invalid pseudo operation");
+         return;
+       }
+
       /* XXX Does this work correctly for half-word/byte ops?  */
       /* Parse an "ldr Rd, =expr" instruction; this is another pseudo op.  */
       str++;
@@ -5214,7 +5252,7 @@ do_ldstv4 (str)
       if (inst.reloc.exp.X_op != O_constant
          && inst.reloc.exp.X_op != O_symbol)
        {
-         inst.error = _("Constant expression expected");
+         inst.error = _("constant expression expected");
          return;
        }
 
@@ -5315,7 +5353,7 @@ reg_list (strp)
 
                  if (reg <= cur_reg)
                    {
-                     inst.error = _("Bad range in register list");
+                     inst.error = _("bad range in register list");
                      return FAIL;
                    }
 
@@ -5323,7 +5361,7 @@ reg_list (strp)
                    {
                      if (range & (1 << i))
                        as_tsktsk
-                         (_("Warning: Duplicated register (r%d) in register list"),
+                         (_("Warning: duplicated register (r%d) in register list"),
                           i);
                      else
                        range |= 1 << i;
@@ -5332,10 +5370,10 @@ reg_list (strp)
                }
 
              if (range & (1 << reg))
-               as_tsktsk (_("Warning: Duplicated register (r%d) in register list"),
+               as_tsktsk (_("Warning: duplicated register (r%d) in register list"),
                           reg);
              else if (reg <= cur_reg)
-               as_tsktsk (_("Warning: Register range not in ascending order"));
+               as_tsktsk (_("Warning: register range not in ascending order"));
 
              range |= 1 << reg;
              cur_reg = reg;
@@ -5347,7 +5385,7 @@ reg_list (strp)
 
          if (*str++ != '}')
            {
-             inst.error = _("Missing `}'");
+             inst.error = _("missing `}'");
              return FAIL;
            }
        }
@@ -5374,7 +5412,7 @@ reg_list (strp)
                  regno &= -regno;
                  regno = (1 << regno) - 1;
                  as_tsktsk
-                   (_("Warning: Duplicated register (r%d) in register list"),
+                   (_("Warning: duplicated register (r%d) in register list"),
                     regno);
                }
 
@@ -5595,7 +5633,7 @@ do_bx (str)
 
   /* Note - it is not illegal to do a "bx pc".  Useless, but not illegal.  */
   if (reg == REG_PC)
-    as_tsktsk (_("Use of r15 in bx in ARM mode is not really useful"));
+    as_tsktsk (_("use of r15 in bx in ARM mode is not really useful"));
 
   end_of_line (str);
 }
@@ -5829,7 +5867,7 @@ do_fpa_ldmstm (str)
 
   if (inst.reloc.exp.X_op != O_constant)
     {
-      inst.error = _("Constant value required for number of registers");
+      inst.error = _("constant value required for number of registers");
       return;
     }
 
@@ -5898,7 +5936,7 @@ do_fpa_ldmstm (str)
          if (reg == REG_PC)
            {
              inst.error =
-               _("R15 not allowed as base register with write-back");
+               _("r15 not allowed as base register with write-back");
              return;
            }
        }
@@ -6373,7 +6411,7 @@ thumb_shift (str, shift)
 
          if (shift_value > 32 || (shift_value == 32 && shift == THUMB_LSL))
            {
-             inst.error = _("Invalid immediate for shift");
+             inst.error = _("invalid immediate for shift");
              return;
            }
 
@@ -6532,6 +6570,12 @@ thumb_load_store (str, load_store, size)
     }
   else if (*str == '=')
     {
+      if (load_store != THUMB_LOAD)
+       {
+         inst.error = _("invalid pseudo operation");
+         return;
+       }
+
       /* Parse an "ldr Rd, =expr" instruction; this is another pseudo op.  */
       str++;
 
@@ -6597,12 +6641,12 @@ thumb_load_store (str, load_store, size)
        }
       else if (Rb == REG_PC && load_store != THUMB_LOAD)
        {
-         inst.error = _("R15 based store not allowed");
+         inst.error = _("r15 based store not allowed");
          return;
        }
       else if (Ro != FAIL)
        {
-         inst.error = _("Invalid base register for register offset");
+         inst.error = _("invalid base register for register offset");
          return;
        }
 
@@ -6655,7 +6699,7 @@ thumb_load_store (str, load_store, size)
 
          if (offset & ~(0x1f << size))
            {
-             inst.error = _("Invalid offset");
+             inst.error = _("invalid offset");
              return;
            }
          inst.instruction |= (offset >> size) << 6;
@@ -7522,7 +7566,7 @@ do_t_ldmstm (str)
     return;
 
   if (*str != '!')
-    as_warn (_("Inserted missing '!': load/store multiple always writes back base register"));
+    as_warn (_("inserted missing '!': load/store multiple always writes back base register"));
   else
     str++;
 
@@ -7538,7 +7582,7 @@ do_t_ldmstm (str)
     {
       /* This really doesn't seem worth it.  */
       inst.reloc.type = BFD_RELOC_NONE;
-      inst.error = _("Expression too complex");
+      inst.error = _("expression too complex");
       return;
     }
 
@@ -7590,7 +7634,7 @@ do_t_lds (str)
       || *str++ != ']')
     {
       if (! inst.error)
-       inst.error = _("Syntax: ldrs[b] Rd, [Rb, Ro]");
+       inst.error = _("syntax: ldrs[b] Rd, [Rb, Ro]");
       return;
     }
 
@@ -7638,7 +7682,7 @@ do_t_push_pop (str)
     {
       /* This really doesn't seem worth it.  */
       inst.reloc.type = BFD_RELOC_NONE;
-      inst.error = _("Expression too complex");
+      inst.error = _("expression too complex");
       return;
     }
 
@@ -7766,7 +7810,7 @@ build_reg_hsh (map)
   const struct reg_entry *r;
 
   if ((map->htab = hash_new ()) == NULL)
-    as_fatal (_("Virtual memory exhausted"));
+    as_fatal (_("virtual memory exhausted"));
 
   for (r = map->names; r->name != NULL; r++)
     insert_reg (r, map->htab);
@@ -7944,7 +7988,7 @@ md_begin ()
       || (arm_cond_hsh = hash_new ()) == NULL
       || (arm_shift_hsh = hash_new ()) == NULL
       || (arm_psr_hsh = hash_new ()) == NULL)
-    as_fatal (_("Virtual memory exhausted"));
+    as_fatal (_("virtual memory exhausted"));
 
   build_arm_ops_hsh ();
   for (i = 0; i < sizeof (tinsns) / sizeof (struct thumb_opcode); i++)
@@ -8139,7 +8183,7 @@ md_atof (type, litP, sizeP)
 
     default:
       *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
+      return _("bad call to MD_ATOF()");
     }
 
   t = atof_ieee (input_line_pointer, type, words);
@@ -8398,7 +8442,7 @@ md_apply_fix3 (fixP, valP, seg)
            else
              {
                as_bad_where (fixP->fx_file, fixP->fx_line,
-                             _("Unable to compute ADRL instructions for PC offset of 0x%lx"),
+                             _("unable to compute ADRL instructions for PC offset of 0x%lx"),
                              value);
                break;
              }
@@ -8508,7 +8552,7 @@ md_apply_fix3 (fixP, valP, seg)
        {
          if (((unsigned long) value) > 0xff)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid swi expression"));
+                         _("invalid swi expression"));
          newval = md_chars_to_number (buf, THUMB_SIZE) & 0xff00;
          newval |= value;
          md_number_to_chars (buf, newval, THUMB_SIZE);
@@ -8517,7 +8561,7 @@ md_apply_fix3 (fixP, valP, seg)
        {
          if (((unsigned long) value) > 0x00ffffff)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid swi expression"));
+                         _("invalid swi expression"));
          newval = md_chars_to_number (buf, INSN_SIZE) & 0xff000000;
          newval |= value;
          md_number_to_chars (buf, newval, INSN_SIZE);
@@ -8527,7 +8571,7 @@ md_apply_fix3 (fixP, valP, seg)
     case BFD_RELOC_ARM_MULTI:
       if (((unsigned long) value) > 0xffff)
        as_bad_where (fixP->fx_file, fixP->fx_line,
-                     _("Invalid expression in load/store multiple"));
+                     _("invalid expression in load/store multiple"));
       newval = value | md_chars_to_number (buf, INSN_SIZE);
       md_number_to_chars (buf, newval, INSN_SIZE);
       break;
@@ -8580,7 +8624,7 @@ md_apply_fix3 (fixP, valP, seg)
          if (! fixP->fx_done)
 #endif
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("gas can't handle same-section branch dest >= 0x04000000"));
+                         _("GAS can't handle same-section branch dest >= 0x04000000"));
        }
 
       value >>= 2;
@@ -8622,7 +8666,7 @@ md_apply_fix3 (fixP, valP, seg)
        value += diff;
        if ((value & ~0xff) && ((value & ~0xff) != ~0xff))
          as_bad_where (fixP->fx_file, fixP->fx_line,
-                       _("Branch out of range"));
+                       _("branch out of range"));
        newval = (newval & 0xff00) | ((value & 0x1ff) >> 1);
       }
       md_number_to_chars (buf, newval, THUMB_SIZE);
@@ -8638,7 +8682,7 @@ md_apply_fix3 (fixP, valP, seg)
        value += diff;
        if ((value & ~0x7ff) && ((value & ~0x7ff) != ~0x7ff))
          as_bad_where (fixP->fx_file, fixP->fx_line,
-                       _("Branch out of range"));
+                       _("branch out of range"));
        newval = (newval & 0xf800) | ((value & 0xfff) >> 1);
       }
       md_number_to_chars (buf, newval, THUMB_SIZE);
@@ -8661,7 +8705,7 @@ md_apply_fix3 (fixP, valP, seg)
        value += diff;
        if ((value & ~0x3fffff) && ((value & ~0x3fffff) != ~0x3fffff))
          as_bad_where (fixP->fx_file, fixP->fx_line,
-                       _("Branch with link out of range"));
+                       _("branch with link out of range"));
 
        newval  = (newval  & 0xf800) | ((value & 0x7fffff) >> 12);
        newval2 = (newval2 & 0xf800) | ((value & 0xfff) >> 1);
@@ -8737,7 +8781,7 @@ md_apply_fix3 (fixP, valP, seg)
       sign = value >= 0;
       if (value < -1023 || value > 1023 || (value & 3))
        as_bad_where (fixP->fx_file, fixP->fx_line,
-                     _("Illegal value for co-processor offset"));
+                     _("illegal value for co-processor offset"));
       if (value < 0)
        value = -value;
       newval = md_chars_to_number (buf, INSN_SIZE) & 0xff7fff00;
@@ -8761,13 +8805,13 @@ md_apply_fix3 (fixP, valP, seg)
 
          if ((fixP->fx_frag->fr_address + fixP->fx_where + value) & 3)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid offset, target not word aligned (0x%08X)"),
+                         _("invalid offset, target not word aligned (0x%08X)"),
                          (unsigned int) (fixP->fx_frag->fr_address
                                          + fixP->fx_where + value));
 
          if ((value + 2) & ~0x3fe)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid offset, value too big (0x%08lX)"), value);
+                         _("invalid offset, value too big (0x%08lX)"), value);
 
          /* Round up, since pc will be rounded down.  */
          newval |= (value + 2) >> 2;
@@ -8776,28 +8820,28 @@ md_apply_fix3 (fixP, valP, seg)
        case 9: /* SP load/store.  */
          if (value & ~0x3fc)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid offset, value too big (0x%08lX)"), value);
+                         _("invalid offset, value too big (0x%08lX)"), value);
          newval |= value >> 2;
          break;
 
        case 6: /* Word load/store.  */
          if (value & ~0x7c)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid offset, value too big (0x%08lX)"), value);
+                         _("invalid offset, value too big (0x%08lX)"), value);
          newval |= value << 4; /* 6 - 2.  */
          break;
 
        case 7: /* Byte load/store.  */
          if (value & ~0x1f)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid offset, value too big (0x%08lX)"), value);
+                         _("invalid offset, value too big (0x%08lX)"), value);
          newval |= value << 6;
          break;
 
        case 8: /* Halfword load/store.  */
          if (value & ~0x3e)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid offset, value too big (0x%08lX)"), value);
+                         _("invalid offset, value too big (0x%08lX)"), value);
          newval |= value << 5; /* 6 - 1.  */
          break;
 
@@ -8836,7 +8880,7 @@ md_apply_fix3 (fixP, valP, seg)
          {
            if (value & ~0x1fc)
              as_bad_where (fixP->fx_file, fixP->fx_line,
-                           _("Invalid immediate for stack address calculation"));
+                           _("invalid immediate for stack address calculation"));
            newval = subtract ? T_OPCODE_SUB_ST : T_OPCODE_ADD_ST;
            newval |= value >> 2;
          }
@@ -8845,7 +8889,7 @@ md_apply_fix3 (fixP, valP, seg)
            if (subtract ||
                value & ~0x3fc)
              as_bad_where (fixP->fx_file, fixP->fx_line,
-                           _("Invalid immediate for address calculation (value = 0x%08lX)"),
+                           _("invalid immediate for address calculation (value = 0x%08lX)"),
                            (unsigned long) value);
            newval = (rs == REG_PC ? T_OPCODE_ADD_PC : T_OPCODE_ADD_SP);
            newval |= rd << 8;
@@ -8855,7 +8899,7 @@ md_apply_fix3 (fixP, valP, seg)
          {
            if (value & ~0xff)
              as_bad_where (fixP->fx_file, fixP->fx_line,
-                           _("Invalid 8bit immediate"));
+                           _("invalid 8bit immediate"));
            newval = subtract ? T_OPCODE_SUB_I8 : T_OPCODE_ADD_I8;
            newval |= (rd << 8) | value;
          }
@@ -8863,7 +8907,7 @@ md_apply_fix3 (fixP, valP, seg)
          {
            if (value & ~0x7)
              as_bad_where (fixP->fx_file, fixP->fx_line,
-                           _("Invalid 3bit immediate"));
+                           _("invalid 3bit immediate"));
            newval = subtract ? T_OPCODE_SUB_I3 : T_OPCODE_ADD_I3;
            newval |= rd | (rs << 3) | (value << 6);
          }
@@ -8879,7 +8923,7 @@ md_apply_fix3 (fixP, valP, seg)
        case 0x05: /* 8bit immediate CMP.  */
          if (value < 0 || value > 255)
            as_bad_where (fixP->fx_file, fixP->fx_line,
-                         _("Invalid immediate: %ld is too large"),
+                         _("invalid immediate: %ld is too large"),
                          (long) value);
          newval |= value;
          break;
@@ -8894,7 +8938,7 @@ md_apply_fix3 (fixP, valP, seg)
       /* 5bit shift value (0..31).  */
       if (value < 0 || value > 31)
        as_bad_where (fixP->fx_file, fixP->fx_line,
-                     _("Illegal Thumb shift value: %ld"), (long) value);
+                     _("illegal Thumb shift value: %ld"), (long) value);
       newval = md_chars_to_number (buf, THUMB_SIZE) & 0xf03f;
       newval |= value << 6;
       md_number_to_chars (buf, newval, THUMB_SIZE);
@@ -8908,7 +8952,7 @@ md_apply_fix3 (fixP, valP, seg)
     case BFD_RELOC_NONE:
     default:
       as_bad_where (fixP->fx_file, fixP->fx_line,
-                   _("Bad relocation fixup type (%d)"), fixP->fx_r_type);
+                   _("bad relocation fixup type (%d)"), fixP->fx_r_type);
     }
 }
 
@@ -8979,7 +9023,7 @@ tc_gen_reloc (section, fixp)
       /* If this is called then the a literal has been referenced across
         a section boundary - possibly due to an implicit dump.  */
       as_bad_where (fixp->fx_file, fixp->fx_line,
-                   _("Literal referenced across section boundary (Implicit dump?)"));
+                   _("literal referenced across section boundary (Implicit dump?)"));
       return NULL;
 
 #ifdef OBJ_ELF
@@ -8992,7 +9036,7 @@ tc_gen_reloc (section, fixp)
 
     case BFD_RELOC_ARM_IMMEDIATE:
       as_bad_where (fixp->fx_file, fixp->fx_line,
-                   _("Internal_relocation (type %d) not fixed up (IMMEDIATE)"),
+                   _("internal relocation (type %d) not fixed up (IMMEDIATE)"),
                    fixp->fx_r_type);
       return NULL;
 
@@ -9003,7 +9047,7 @@ tc_gen_reloc (section, fixp)
 
     case BFD_RELOC_ARM_OFFSET_IMM:
       as_bad_where (fixp->fx_file, fixp->fx_line,
-                   _("Internal_relocation (type %d) not fixed up (OFFSET_IMM)"),
+                   _("internal_relocation (type %d) not fixed up (OFFSET_IMM)"),
                    fixp->fx_r_type);
       return NULL;
 
@@ -9027,7 +9071,7 @@ tc_gen_reloc (section, fixp)
          default:                         type = _("<unknown>"); break;
          }
        as_bad_where (fixp->fx_file, fixp->fx_line,
-                     _("Cannot represent %s relocation in this object file format"),
+                     _("cannot represent %s relocation in this object file format"),
                      type);
        return NULL;
       }
@@ -9048,7 +9092,7 @@ tc_gen_reloc (section, fixp)
   if (reloc->howto == NULL)
     {
       as_bad_where (fixp->fx_file, fixp->fx_line,
-                   _("Can not represent %s relocation in this object file format"),
+                   _("cannot represent %s relocation in this object file format"),
                    bfd_get_reloc_code_name (code));
       return NULL;
     }
@@ -9071,13 +9115,14 @@ md_estimate_size_before_relax (fragP, segtype)
 }
 
 static void
-output_inst PARAMS ((void))
+output_inst (str)
+     const char *str;
 {
   char * to = NULL;
 
   if (inst.error)
     {
-      as_bad (inst.error);
+      as_bad ("%s -- `%s'", inst.error, str);
       return;
     }
 
@@ -9144,7 +9189,7 @@ md_assemble (str)
 
   if (p == str)
     {
-      as_bad (_("No operator -- statement `%s'\n"), str);
+      as_bad (_("no operator -- statement `%s'\n"), str);
       return;
     }
 
@@ -9162,14 +9207,14 @@ md_assemble (str)
          /* Check that this instruction is supported for this CPU.  */
          if (thumb_mode == 1 && (opcode->variant & cpu_variant) == 0)
            {
-             as_bad (_("selected processor does not support this opcode"));
+             as_bad (_("selected processor does not support `%s'"), str);
              return;
            }
 
          inst.instruction = opcode->value;
          inst.size = opcode->size;
          (*opcode->parms) (p);
-         output_inst ();
+         output_inst (str);
          return;
        }
     }
@@ -9187,14 +9232,14 @@ md_assemble (str)
          /* Check that this instruction is supported for this CPU.  */
          if ((opcode->variant & cpu_variant) == 0)
            {
-             as_bad (_("selected processor does not support this opcode"));
+             as_bad (_("selected processor does not support `%s'"), str);
              return;
            }
 
          inst.instruction = opcode->value;
          inst.size = INSN_SIZE;
          (*opcode->parms) (p);
-         output_inst ();
+         output_inst (str);
          return;
        }
     }
@@ -9378,7 +9423,7 @@ md_parse_option (c, arg)
                  return 1;
                }
 
-             as_bad (_("Unrecognised APCS switch -m%s"), arg);
+             as_bad (_("unrecognised APCS switch -m%s"), arg);
              return 0;
            }
 
@@ -9539,7 +9584,7 @@ md_parse_option (c, arg)
                      cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_2;
                      break;
                    default:
-                     as_bad (_("Invalid architecture variant -m%s"), arg);
+                     as_bad (_("invalid architecture variant -m%s"), arg);
                      break;
                    }
                  break;
@@ -9552,7 +9597,7 @@ md_parse_option (c, arg)
                    case 'm': cpu_variant |= ARM_EXT_V3M; break;
                    case 0:   break;
                    default:
-                     as_bad (_("Invalid architecture variant -m%s"), arg);
+                     as_bad (_("invalid architecture variant -m%s"), arg);
                      break;
                    }
                  break;
@@ -9565,7 +9610,7 @@ md_parse_option (c, arg)
                    case 't': cpu_variant |= ARM_EXT_V4T; break;
                    case 0:   break;
                    default:
-                     as_bad (_("Invalid architecture variant -m%s"), arg);
+                     as_bad (_("invalid architecture variant -m%s"), arg);
                      break;
                    }
                  break;
@@ -9578,20 +9623,20 @@ md_parse_option (c, arg)
                    case 'e': cpu_variant |= ARM_EXT_V5E; break;
                    case 0:   break;
                    default:
-                     as_bad (_("Invalid architecture variant -m%s"), arg);
+                     as_bad (_("invalid architecture variant -m%s"), arg);
                      break;
                    }
                  break;
 
                default:
-                 as_bad (_("Invalid architecture variant -m%s"), arg);
+                 as_bad (_("invalid architecture variant -m%s"), arg);
                  break;
                }
              break;
 
            default:
            bad:
-             as_bad (_("Invalid processor variant -m%s"), arg);
+             as_bad (_("invalid processor variant -m%s"), arg);
              return 0;
            }
        }
index 381e5462cf009ce3aaa6b7ac02019312d344afb0..2de9674327f776ee6001f29150507f680fa0a646 100644 (file)
@@ -169,8 +169,6 @@ void armelf_frob_symbol PARAMS ((symbolS *, int *));
 
 #define OPTIONAL_REGISTER_PREFIX '%'
 
-#define md_operand(x)
-
 #define LOCAL_LABEL(name) (name[0] == '.' && (name[1] == 'L'))
 #define LOCAL_LABELS_FB   1
 #ifdef OBJ_ELF