/* tc-moxie.c -- Assemble code for moxie
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2020 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
iword += (a << 4);
}
break;
- case MOXIE_F1_ABi4:
+ case MOXIE_F1_ABi2:
iword = opcode->opcode << 8;
while (ISSPACE (*op_end))
op_end++;
op_end++;
op_end = parse_exp_save_ilp (op_end, &arg);
- offset = frag_more (4);
+ offset = frag_more (2);
fix_new_exp (frag_now,
(offset - frag_now->fr_literal),
- 4,
+ 2,
&arg,
0,
- BFD_RELOC_32);
+ BFD_RELOC_16);
if (*op_end != '(')
{
iword += (a << 4) + b;
}
break;
- case MOXIE_F1_AiB4:
+ case MOXIE_F1_AiB2:
iword = opcode->opcode << 8;
while (ISSPACE (*op_end))
op_end++;
int a, b;
op_end = parse_exp_save_ilp (op_end, &arg);
- offset = frag_more (4);
+ offset = frag_more (2);
fix_new_exp (frag_now,
(offset - frag_now->fr_literal),
- 4,
+ 2,
&arg,
0,
- BFD_RELOC_32);
+ BFD_RELOC_16);
if (*op_end != '(')
{
BFD_RELOC_MOXIE_10_PCREL);
}
break;
+ case MOXIE_BAD:
+ iword = 0;
+ while (ISSPACE (*op_end))
+ op_end++;
+ if (*op_end != 0)
+ as_warn (_("extra stuff on line ignored"));
+ break;
default:
abort ();
}
md_number_to_chars (p, iword, 2);
+ dwarf2_emit_insn (2);
while (ISSPACE (*op_end))
op_end++;
of LITTLENUMS emitted is stored in *SIZEP . An error message is
returned, or NULL on OK. */
-char *
+const char *
md_atof (int type, char *litP, int *sizeP)
{
int prec;
const char *md_shortopts = "";
int
-md_parse_option (int c ATTRIBUTE_UNUSED, char *arg ATTRIBUTE_UNUSED)
+md_parse_option (int c ATTRIBUTE_UNUSED, const char *arg ATTRIBUTE_UNUSED)
{
switch (c)
{
- case OPTION_EB:
- target_big_endian = 1;
+ case OPTION_EB:
+ target_big_endian = 1;
break;
- case OPTION_EL:
+ case OPTION_EL:
target_big_endian = 0;
break;
- default:
+ default:
return 0;
}
/* Apply a fixup to the object file. */
void
-md_apply_fix (fixS *fixP ATTRIBUTE_UNUSED,
+md_apply_fix (fixS *fixP ATTRIBUTE_UNUSED,
valueT * valP ATTRIBUTE_UNUSED, segT seg ATTRIBUTE_UNUSED)
{
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
return 0;
}
- relP = xmalloc (sizeof (arelent));
- gas_assert (relP != 0);
- relP->sym_ptr_ptr = xmalloc (sizeof (asymbol *));
+ relP = XNEW (arelent);
+ relP->sym_ptr_ptr = XNEW (asymbol *);
*relP->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
relP->address = fixP->fx_frag->fr_address + fixP->fx_where;