2017-09-06  John Baldwin  <jhb@FreeBSD.org>

	* configure: Regenerate.

2016-07-19  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>

	PR target/19401
	* interp.c (step_once): Pass break instruction address to
	sim_engine_halt function which writes that to PC. Remove code that
	follows that function call as it is unreachable.

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.ac (SIM_AC_OPTION_ENVIRONMENT): Delete call.
	* 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.ac (SIM_AC_OPTION_INLINE): Delete call.
	* 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>

	* interp.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>

	* interp.c (sim_open): Update sim_parse_args comment.

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

	* configure.ac (SIM_AC_OPTION_HOSTENDIAN): Delete.
	* configure: Regenerate.

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

	* configure.ac (SIM_AC_OPTION_ENDIAN): Change LITTLE_ENDIAN to
	LITTLE.
	* configure: Regenerate.

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

	* Makefile.in (SIM_OBJS): Delete sim-hload.o.

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

	* config.in, configure: Regenerate.

2015-12-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* interp.c (sign_ext): Fix left shift of negative value.

2015-11-21  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (pc, cycles, avr_pc22): Delete.
	(do_call): Add cpu to arguments.  Declare sd.  Change pc to cpu->pc,
	avr_pc22 to sd->avr_pc22, and cycles to cpu->cycles.
	(gen_mul): Add cpu to arguments.  Change cycles to cpu->cycles.
	(step_once): Change pc to cpu->pc, avr_pc22 to sd->avr_pc22, and
	cycles to cpu->cycles.  Pass cpu to do_call and gen_mul calls.
	(avr_reg_store, avr_reg_fetch, avr_pc_get, avr_pc_set): Change pc
	to cpu->pc.
	(sim_open): Likewise.  Declare cpu.
	(sim_create_inferior): Declare cpu and addr.  Change pc to addr and
	call sim_pc_set.  Change avr_pc22 to sd->avr_pc22.
	* sim-main.h (pc): Delete.
	(struct _sim_cpu): Add pc and cycles.
	(struct sim_state): Add avr_pc22.

2015-11-21  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_store_register): Rename to ...
	(avr_reg_store): ... this.  Adjust signature.
	(sim_fetch_register): Rename to ...
	(avr_reg_fetch): ... this.  Adjust signature.
	(sim_open): Call CPU_REG_FETCH and CPU_REG_STORE.

2015-11-15  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.

2015-11-14  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_close): Delete.

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

	* configure: Regenerate.

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

	* configure: Regenerate.

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

	* configure: Regenerate.

2015-04-27  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* Makefile.in (SIM_OBJS): Move interp.o
	above $(SIM_NEW_COMMON_OBJS).

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

	* sim-main.h (SIM_CPU): Delete.

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

	* sim-main.h (sim_cia): Delete.

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

	* sim-main.h (CIA_GET, CIA_SET): Delete.

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

	* interp.c (avr_pc_get, avr_pc_set): New functions.
	(sim_open): Declare new local var i.  Call CPU_PC_FETCH &
	CPU_PC_STORE for all cpus.

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

	* Makefile.in (SIM_OBJS): Delete sim-cpu.o.
	* sim-main.h (STATE_CPU): Delete.

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

	* configure: Regenerate.

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

	* Makefile.in (SIM_OBJS): Delete sim-engine.o and sim-hrw.o.

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

	* tconfig.h: Delete.

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

	* config.in, configure: Regenerate.

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

	* Makefile.in (SIM_EXTRA_CFLAGS, SIM_RUN_OBJS, SIM_EXTRA_LIBS): Delete.
	(interp.o): Delete rule.
	(SIM_OBJS): Change to $(SIM_NEW_COMMON_OBJS).
	* configure.ac: Call SIM_AC_OPTION_ENDIAN, SIM_AC_OPTION_ALIGNMENT,
	SIM_AC_OPTION_HOSTENDIAN, SIM_AC_OPTION_ENVIRONMENT,
	SIM_AC_OPTION_INLINE, and SIM_AC_OPTION_WARNINGS.
	* interp.c: Delete gdb/callback.h, gdb/signals.h, dis-asm.h, and
	sim-utils.h includes.  Include sim-main.h, sim-base.h, and
	sim-options.h.
	(tracing, lock_step, verbose): Delete.
	(pc): Drop static.
	(cur_bfd, cpu_exception, cpu_signal, sim_kind, myname, callback):
	Delete.
	(flash, sram): Add TODO.
	(sim_size, disasm_read_memory, disasm_perror_memory,
	disassemble_insn): Delete.
	(sim_resume): Rename to ...
	(step_once): ... this.  Mark static.  Delete step variable and while
	loop, and unindent body.  Add #if 0 around tracing/verbose code.
	Change cpu_exception to sim_engine_halt.
	(sim_trace): Delete.
	(sim_engine_run): New function.
	(sim_stop_reason, sim_stop, sim_info): Delete.
	(free_state): New function.
	(sim_open, sim_close, sim_create_inferior): Rewrite from scratch.
	(sim_load, sim_do_command, sim_set_callbacks,
	sim_complete_command): delete.
	* sim-main.h: New file.
	* config.in, configure: Regenerate.

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

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

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

	* Makefile.in (SIM_EXTRA_CFLAGS): Set to
	-DSIM_USE_DEPRECATED_RUN_FRONTEND.
	(SIM_RUN_OBJS): Set to run.o.

2015-02-19  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_kill): Delete unused func.

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>

	* interp.c (sim_do_command): Add const to cmd.

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

	* interp.c (sim_load): Add const to prog.

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

	* configure: Regenerate.

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

	* aclocal.m4, configure: Regenerate.

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.

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-04-16  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_complete_command): New stub function.

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

	* interp.c (sim_write): Add const to buffer arg.
