mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
* config/tc-v850.c (system_registers): Fix ordering of registers.
pr12913 (c/h from nec).
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
start-sanitize-v850
|
||||||
|
Mon Jul 21 08:57:17 1997 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
* config/tc-v850.c (system_registers): Fix ordering of registers.
|
||||||
|
|
||||||
|
end-sanitize-v850
|
||||||
start-sanitize-tic80
|
start-sanitize-tic80
|
||||||
Tue Jul 15 16:29:54 1997 Fred Fish <fnf@cygnus.com>
|
Tue Jul 15 16:29:54 1997 Fred Fish <fnf@cygnus.com>
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
/* tc-v850.c -- Assembler code for the NEC V850
|
/* tc-v850.c -- Assembler code for the NEC V850
|
||||||
|
Copyright (C) 1996, 1997 Free Software Foundation.
|
||||||
Copyright (C) 1996 Free Software Foundation.
|
|
||||||
|
|
||||||
This file is part of GAS, the GNU Assembler.
|
This file is part of GAS, the GNU Assembler.
|
||||||
|
|
||||||
@ -146,11 +145,11 @@ static const struct reg_name pre_defined_registers[] =
|
|||||||
|
|
||||||
static const struct reg_name system_registers[] =
|
static const struct reg_name system_registers[] =
|
||||||
{
|
{
|
||||||
|
{ "ecr", 4 },
|
||||||
{ "eipc", 0 },
|
{ "eipc", 0 },
|
||||||
{ "eipsw", 1 },
|
{ "eipsw", 1 },
|
||||||
{ "fepc", 2 },
|
{ "fepc", 2 },
|
||||||
{ "fepsw", 3 },
|
{ "fepsw", 3 },
|
||||||
{ "ecr", 4 },
|
|
||||||
{ "psw", 5 },
|
{ "psw", 5 },
|
||||||
};
|
};
|
||||||
#define SYSREG_NAME_CNT (sizeof(system_registers) / sizeof(struct reg_name))
|
#define SYSREG_NAME_CNT (sizeof(system_registers) / sizeof(struct reg_name))
|
||||||
@ -676,6 +675,10 @@ md_assemble (str)
|
|||||||
if (fc > MAX_INSN_FIXUPS)
|
if (fc > MAX_INSN_FIXUPS)
|
||||||
as_fatal ("too many fixups");
|
as_fatal ("too many fixups");
|
||||||
|
|
||||||
|
/* Adjust any offsets for sst.{h,w}/sld.{h,w} instructions */
|
||||||
|
if (operand->flags & V850_OPERAND_ADJUST_SHORT_MEMORY)
|
||||||
|
ex.X_add_number >>= 1;
|
||||||
|
|
||||||
fixups[fc].exp = ex;
|
fixups[fc].exp = ex;
|
||||||
fixups[fc].opindex = *opindex_ptr;
|
fixups[fc].opindex = *opindex_ptr;
|
||||||
fixups[fc].reloc = reloc;
|
fixups[fc].reloc = reloc;
|
||||||
@ -827,7 +830,9 @@ md_assemble (str)
|
|||||||
if (relaxable && fc > 0)
|
if (relaxable && fc > 0)
|
||||||
{
|
{
|
||||||
f = frag_var (rs_machine_dependent, 6, 4, 0,
|
f = frag_var (rs_machine_dependent, 6, 4, 0,
|
||||||
fixups[0].exp.X_add_symbol, 0, (char *)fixups[0].opindex);
|
fixups[0].exp.X_add_symbol,
|
||||||
|
fixups[0].exp.X_add_number,
|
||||||
|
(char *)fixups[0].opindex);
|
||||||
insn_size = 2;
|
insn_size = 2;
|
||||||
md_number_to_chars (f, insn, insn_size);
|
md_number_to_chars (f, insn, insn_size);
|
||||||
md_number_to_chars (f + 2, 0, 4);
|
md_number_to_chars (f + 2, 0, 4);
|
||||||
@ -904,7 +909,7 @@ tc_gen_reloc (seg, fixp)
|
|||||||
fixS *fixp;
|
fixS *fixp;
|
||||||
{
|
{
|
||||||
arelent *reloc;
|
arelent *reloc;
|
||||||
reloc = (arelent *) bfd_alloc_by_size_t (stdoutput, sizeof (arelent));
|
reloc = (arelent *) xmalloc (sizeof (arelent));
|
||||||
reloc->sym_ptr_ptr = &fixp->fx_addsy->bsym;
|
reloc->sym_ptr_ptr = &fixp->fx_addsy->bsym;
|
||||||
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
|
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
|
||||||
reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
|
reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
|
||||||
|
Reference in New Issue
Block a user