2016-07-27  Alan Modra  <amodra@gmail.com>

	* load.c: Don't include libbfd.h.
	(rx_load): Don't use private iovec seek or read.

2016-04-27  Nick Clifton  <nickc@redhat.com>

	PR target/20000
	* fpu.c (check_exceptions): Fix typo checking for signalling
	NANs.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-09  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2016-01-06  Mike Frysinger  <vapier@gentoo.org>

	* gdb-if.c (sim_open): Mark argv const.
	(sim_create_inferior): Mark argv and env const.

2016-01-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-03  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2015-12-26  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2015-11-10  Nick Clifton  <nickc@redhat.com>

	* rx.c (id_names): Add nop4, nop5, nop6 and nop7.
	(decode_opcode): Likewise.
	(get_op): Handle RX_Operand_Zero_Indirect.
	Handle RX_Bad_Size and RX_MAX_SIZE.
	(put_op): Likewise.
	(N_MAP): Increase to 90.

2015-06-23  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (AC_ARG_ENABLE(cycle-accurate)): Call AS_HELP_STRING.
	(AC_ARG_ENABLE(cycle-stats)): Likewise.
	* configure: Regenerate.

2015-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-04-24  Nick Clifton  <nickc@redhat.com>

	PR sim/18273
	* reg.c (put_reg): Fix check for valid register number.

2015-04-13  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-03-31  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2015-03-16  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2015-12-15  Joel Brobecker  <brobecker@adacore.com>

	* gdb-if.c (open): Rename to...
	(rx_sim_is_open): This. Replace all uses of "open" by uses of
	"rx_sim_is_open" throughout.

2014-08-19  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2014-08-15  Roland McGrath  <mcgrathr@google.com>

	* configure: Regenerate.
	* config.in: Regenerate.

2014-03-10  Mike Frysinger  <vapier@gentoo.org>

	* gdb-if.c (sim_do_command): Add const to cmd.  Move args
	to top and add const.  Call strdup on cmd and free at end.

2014-03-05  Mike Frysinger  <vapier@gentoo.org>

	* gdb-if.c (sim_load): Add const to prog.

2014-02-17  Kevin Buettner  <kevinb@redhat.com>

	* gdb-if.c (rx_signal_to_host):  Rename to
	`rx_signal_to_gdb_signal'.  Make static.  Update all callers
	to use new name.  Use signal names from include/gdb/signals.h.

2013-09-23  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2013-06-25  Nick Clifton  <nickc@redhat.com>

	* rx.c (SHIFT_OP): A shift by zero still sets the condition
	codes.

2013-06-03  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2013-01-16  Nick Clifton  <nickc@redhat.com>

	* rx.c (decode_opcode): Handle RXO_satr.

2012-06-15  Joel Brobecker  <brobecker@adacore.com>

	* config.in, configure: Regenerate.

2012-05-24  Pedro Alves  <palves@redhat.com>

	PR gdb/7205

	Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.

2012-03-24  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2012-03-22  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (CYCLE_ACCURATE): Add template with AC_DEFINE call.
	(CYCLE_STATS): Likewise.

2012-03-02  Kevin Buettner  <kevinb@redhat.com>

	* load.h (rx_load): Add `callback' parameter to function prototype.
	(gdb/callback.h): Include.
	* load.c (load.h): Include.
	(xprintf, find_section_name_by_offset): New functions.
	(rx_load): Add `callback' parameter.  Add code for printing
	section loaded using GDB's printf facilities.
	* gdb-if.c (sim_load, sim_create_inferior): Update calls to
	rx_load().
	* main.c (main): Likewise.
	* syscalls.c, syscalls.h (get_callbacks): New function.

2011-12-03  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: New file.
	* configure: Regenerate.

2011-10-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Change include to common/acinclude.m4.

2011-10-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Change AC_PREREQ to 2.64.  Delete AC_CONFIG_HEADER
	call.  Replace common.m4 include with SIM_AC_COMMON.
	* configure: Regenerate.

2011-07-11  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Rename from configure.in.

2011-07-11  Mike Frysinger  <vapier@gentoo.org>

	* configure.in: Add "dnl" before copyright notice.

2011-04-16  Mike Frysinger  <vapier@gentoo.org>

	* gdb-if.c (sim_complete_command): New stub function.

2011-01-11  Andrew Burgess  <aburgess@broadcom.com>

	* gdb-if.c (sim_store_register): Update return value to
	match new API.

2010-12-14  DJ Delorie  <dj@redhat.com>

	* rx.c (decode_opcode): For "MVFC PC,", use the address of the
	opcode, not the address following the opcode.
	(decode_opcode): RXO_branchrel is relative to the opcode's PC, not
	the address following the opcode.

2010-11-11  DJ Delorie  <dj@redhat.com>

	* rx.c (lsb_count): New.
	(divu_cycles): New.
	(div_cycles): New.
	(decode_opcode): Fix cycle count math for div, divu, suntil, and
	swhile.

2010-09-29  Kevin Buettner  <kevinb@redhat.com>

	* mem.c (rx_mem_ptr): When invalidating the decode cache, account
	for the fact that the instruction decoder never uses swapped
	addresses.

2010-09-29  Nick Clifton  <nickc@redhat.com>

	* rx.c (decode_opcode: RXO_int): Only break out of the emulation
	loop if rx_syscall() does not return a RX_STEPPED result.

2010-09-23  Kevin Buettner  <kevinb@redhat.com>

	* rx.c (decode_opcode): Add cycle information for RXO_smovu.

2010-09-23  Kevin Buettner  <kevinb@redhat.com>

	* fpu.c, gdb-if.c, load.c, misc.c, syscalls.c (config.h): Include.

	* rx.c (decode_opcode): Declare `tx' as unsigned.

	* cpu.h (reset_decoder): Declare.
	* load.c (rx_load): Call `reset_decoder'.
	* rx.c (reset_decoder): New function.

2010-07-29  DJ Delorie  <dj@redhat.com>

	* rx.c (decode_cache_base): New.
	(id_names): Remove ediv and edivu.
	(optype_names): Add TwoReg.
	(maybe_get_mem_page): New.
	(rx_get_byte): Call it.
	(get_op): Add TwoReg support.
	(put_op): Likewise.
	(PD, PS, PS2, GD, GS, GS2, DSZ, SSZ, S2SZ, US1, US2, OM): "opcode"
	is a pointer now.
	(DO_RETURN): New.  We use longjmp to return an exception result.
	(decode_opcode): Make opcode a pointer to the decode cache.  Save
	decoded opcode information and re-use.  Call DO_RETURN instead of
	return throughout.  Remove ediv and edivu.
	* mem.c (ptdc): New.  Adds decode cache.
	(rx_mem_ptr): Support it.
	(rx_mem_decode_cache): New.
	* mem.h (enum mem_ptr_action): add MPA_DECODE_CACHE.
	(rx_mem_decode_cache): Declare.
	* gdb-if.c (sim_resume): Add decode_opcode's setjmp logic here...
	* main.c (main): ...and here.  Use a fast loop if neither trace
	nor disassemble is given.
	* cpu.h (RX_MAKE_STEPPED, RX_MAKE_HIT_BREAK, RX_MAKE_EXITED,
	RX_MAKE_STOPPED, RX_EXITED, RX_STOPPED): Adjust so that 0 is not a
	valid code for anything.

2010-07-27  DJ Delorie  <dj@redhat.com>

	* README.txt: New.
	* config.h (CYCLE_ACCURATE, CYCLE_STATS): New.
	* configure.in (--enable-cycle-accurate, --enable-cycle-stats):
	New.  Default to enabled.
	* configure: Regenerate.

	* cpu.h (regs_type): Add cycle tracking info.
	(reset_pipeline_stats): Declare.
	(halt_pipeline_stats): Declare.
	(pipeline_stats): Declare.
	* main.c (done): Call pipeline_stats().
	* mem.h (rx_mem_ptr): Moved to here ...
	* mem.c (mem_ptr): ... from here.  Rename throughout.
	(mem_put_byte): Move LEDs to Port A.  Add Port B to control cycle
	statistics.  Move UART to SCI4.
	(mem_put_hi): Add TPU 1-2.  TPU 1 and 2 count CPU cycles.
	* reg.c (init_regs): Set Rt reg to -1 (no reg).
	* rx.c: Add cycle counting and statistics throughout.
	(rx_get_byte): Optimize for speed.
	(decode_opcode): Likewise.
	(reset_pipeline_stats): New.
	(halt_pipeline_stats): New.
	(pipeline_stats): New.
	* trace.c (sim_disasm_one): Print cycle count.

2010-07-07  Kevin Buettner  <kevinb@redhat.com>

	* gdb-if.c (sim_store_register): Add case for sim_rx_acc_regnum.

2010-06-24  Kevin Buettner  <kevinb@redhat.com>

	* gdb-if.c (trace.h): Include.
	(reg_size, sim_fetch_register): Add cases for sim_rx_acc_regnum.

2010-06-07  Nick Clifton  <nickc@redhat.com>

	* reg.c (set_oszc): Use unsigned int for the mask.
	(set_szc, set_osz, set_sz): Likewise.

2010-05-28  Kevin Buettner  <kevinb@redhat.com>

	* gdb-if.c (sim_do_command): Add a "sim verbose noisy" command.

2010-04-14  Mike Frysinger  <vapier@gentoo.org>

	* gdb-if.c (sim_write): Add const to buf arg.

2010-01-30  Masaki Muranaka  <monaka@monami-software.com>

	* configure.in: Check if the host has getopt.h.
	* configure: Regenerate.
	* config.in: Regenerate.
	* main.c: Include config.h.
	Use HAVE_STDLIB_H, HAVE_UNISTD_H, HAVE_GETOPT_H.
	Include getopt.h in case HAVE_GETOPT_H is defined.

2009-12-22  Yoshinori Sato  <ysato@users.sourceforge.jp>

	* rx/rx.c (decode_opcode): btst bit address mask fix.

2009-11-30  DJ Delorie  <dj@redhat.com>

	* rx/rx.c (decode_opcode): fix SWHILE logic.

2009-10-27  DJ Delorie  <dj@redhat.com>
	    Kevin Buettner <kevinb@redhat.com>

	* load.h: New.
	* rx.c: New.
	* syscalls.c: New.
	* syscalls.h: New.
	* load.c: New.
	* configure.in: New.
	* gdb-if.c: New.
	* err.c: New.
	* cpu.h: New.
	* Makefile.in: New.
	* fpu.c: New.
	* mem.c: New.
	* config.in: New.
	* err.h: New.
	* reg.c: New.
	* mem.h: New.
	* main.c: New.
	* misc.h: New.
	* trace.c: New.
	* misc.c: New.
	* syscall.h: New.
	* trace.h: New.
	* fpu.h: New.
