/* Configurable Xtensa ISA support.
- Copyright 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2019 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
/* Inward conversion from byte stream to xtensa_insnbuf. See
xtensa_insnbuf_to_chars for a discussion of why this is complicated
by endianness. */
-
+
void
xtensa_insnbuf_from_chars (xtensa_isa isa,
xtensa_insnbuf insn,
xtensa_sysreg_internal *sreg = &isa->sysregs[n];
is_user = sreg->is_user;
- isa->sysreg_table[is_user][sreg->number] = n;
+ if (sreg->number >= 0)
+ isa->sysreg_table[is_user][sreg->number] = n;
}
/* Set up the interface lookup table. */
- isa->interface_lookup_table =
+ isa->interface_lookup_table =
bfd_malloc (isa->num_interfaces * sizeof (xtensa_lookup_entry));
CHECK_ALLOC_FOR_INIT (isa->interface_lookup_table, NULL, errno_p,
error_msg_p);
sizeof (xtensa_lookup_entry), xtensa_isa_name_compare);
/* Set up the funcUnit lookup table. */
- isa->funcUnit_lookup_table =
+ isa->funcUnit_lookup_table =
bfd_malloc (isa->num_funcUnits * sizeof (xtensa_lookup_entry));
CHECK_ALLOC_FOR_INIT (isa->funcUnit_lookup_table, NULL, errno_p,
error_msg_p);
int
-xtensa_isa_num_pipe_stages (xtensa_isa isa)
+xtensa_isa_num_pipe_stages (xtensa_isa isa)
{
xtensa_opcode opcode;
xtensa_funcUnit_use *use;
if (strcasecmp (fmtname, intisa->formats[fmt].name) == 0)
return fmt;
}
-
+
xtisa_errno = xtensa_isa_bad_format;
sprintf (xtisa_error_msg, "format \"%s\" not recognized", fmtname);
return XTENSA_UNDEFINED;