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

	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.

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

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

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

	* config.in, configure: Regenerate.

2021-05-17  Mike Frysinger  <vapier@gentoo.org>

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

2021-05-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
	(struct sim_state): Delete.

2021-05-16  Mike Frysinger  <vapier@gentoo.org>

	* interp.c: Replace config.h include with defs.h.

2021-05-16  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-05-14  Mike Frysinger  <vapier@gentoo.org>

	* interp.c: Update include path.

2021-05-04  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete SIM_AC_OPTION_WARNINGS call.
	* interp.c (sim_create_inferior): Add const to avp.
	* configure: Regenerate.

2021-05-04  Mike Frysinger  <vapier@gentoo.org>

	* interp.c: Delete sys/times.h include.

2021-05-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-05-01  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-04-26  Mike Frysinger  <vapier@gentoo.org>

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

2021-04-22  Tom Tromey  <tom@tromey.com>

	* configure, config.in: Rebuild.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* configure: Rebuild.

2021-04-21  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.

2021-04-21  Simon Marchi  <simon.marchi@polymtl.ca>

	* configure: Regenerate.

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

	* configure: Regenerate.

2021-04-12  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Delete 3rd arg to sim_cpu_alloc_all.

2021-04-02  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2021-02-28  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-02-21  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (AC_CONFIG_MACRO_DIRS): Replace common with m4.
	* aclocal.m4, configure: Regenerate.

2021-02-13  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Replace sinclude with AC_CONFIG_MACRO_DIRS.
	* aclocal.m4, configure: Regenerate.

2021-02-06  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-01-11  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

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

	* configure: Regenerate.

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

	* configure.ac (SIM_AC_OPTION_WARNINGS): Pass "no".
	* configure: Regenerate.

2021-01-08  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

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

	* configure: Regenerate.

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

	* configure: Regenerate.

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: 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-11-15  Mike Frysinger  <vapier@gentoo.org>

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

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

	* interp.c (mcore_regset, LAST_VALID_CREG, NUM_MCORE_REGS: Move
	to sim-main.h.
	(cpu): Delete.
	(gr, cr): Change from asregs to cpu.
	(sr, vbr, esr, fsr, epc, fpc, ss0, ss1, ss2, ss3, ss4, gcr, gsr):
	Change from asregs to cr.
	(C_ON, C_VALUE, C_OFF, SET_C, CLR_C, NEW_C, SR_AF): Change from
	cpu.sr to sr.
	(set_active_regs): Define.
	(set_initial_gprs): Rename scpu to cpu.  Change cpu.sr to sr and
	cpu.gr to gr.  Replace for loop with memset.  Replace SR_AF with
	set_active_regs.
	(handle_trap1): Add cpu arg.
	(process_stub): Likewise.  Change cpu.gr to gr.
	(util): Rename scpu to cpu.  Change cpu.gr to gr.
	(rbat, rhat, rlat, wbat, what, wlat, ILLEGAL, sim_engine_run,
	mcore_reg_store, mcore_reg_fetch, sim_create_inferior): Rename scpu
	to cpu.
	(step_once): Likewise.  Replace SR_AF with set_active_regs.  Adjust
	cpu.asregs to cpu.
	(mcore_pc_get, mcore_pc_set): Adjust cpu->pc to cpu->regs.pc.
	* sim-main.h (mcore_regset, LAST_VALID_CREG, NUM_MCORE_REGS: Move
	from interp.c.
	(_sim_cpu): Add regs, asints, active_gregs, ticks, stalls, cycles,
	and insts members.

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

	* Makefile.in (SIM_OBJS): Add sim-reg.o.
	* interp.c (sim_store_register): Rename to ...
	(mcore_reg_store): ... this.  Change SIM_DESC to SIM_CPU.
	(sim_fetch_register): Rename to ...
	(mcore_reg_fetch): ... this.  Change SIM_DESC to SIM_CPU.
	(sim_open): Call CPU_REG_FETCH and CPU_REG_STORE.

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

	* Makefile.in (SIM_OBJS): Add sim-reason.o and sim-resume.o.
	* interp.c (struct mcore_regset): Delete exception.
	(util): Add SIM_DESC and SIM_CPU args.  Call sim_engine_halt instead
	of setting cpu.asregs.exception.
	(ILLEGAL): Define.
	(sim_resume): Rename to ...
	(step_once): ... this.  Delete cpu.asregs.exception initialization.
	Delete do/while statements while keeping the body.  Replace SIGTRAP
	usage with sim_engine_halt(SIM_SIGTRAP).  Replace SIGILL usage with
	ILLEGAL.  Pass sd and cpu down to util.
	(sim_engine_run): Define.
	(sim_stop_reason): Delete.

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

	* interp.c (handle_trap1): Replace call to cb_syscall with
	sim_syscall.

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

	* interp.c: Include sim-syscall.h.
	(syscall_read_mem, syscall_write_mem): Delete.
	(m32r_trap): Change syscall_read_mem/syscall_write_mem
	to sim_syscall_read_mem/sim_syscall_write_mem.

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

	* configure: Regenerate.

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

	* configure: Regenerate.

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

	* interp.c (sim_resume): Change %x to %lx for all cpu registers.

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

	* interp.c (mcore_regset): Delete msize & memory.
	(issue_messages, mem, wbat, what, wlat, rbat, what, wlat,
	sim_memory_size, MEM_SIZE_FLOOR, sim_size, init_pointers): Delete.
	(DEFAULT_MEMORY_SIZE): Define.
	(set_initial_gprs): Delete memsize handling and call to init_pointers.
	Change cpu.asregs.msize to DEFAULT_MEMORY_SIZE.
	(syscall_read_mem): Change memcpy to sim_core_read_buffer.
	(syscall_write_mem): Change memcpy to sim_core_write_buffer.
	(process_stub): Change issue_messages to STATE_VERBOSE_P.
	(util): Turn printf into a stub.  Change issue_messages to
	STATE_VERBOSE_P.
	(rbat, rhat, rlat, wbat, what, wlat): Define to sim core funcs.
	(sim_resume): Change issue_messages to STATE_VERBOSE_P.
	Delete cpu.asregs.msize range checks.
	(sim_write, sim_read): Delete.
	(sim_store_register, sim_fetch_register): Delete call to
	init_pointers.
	(sim_open): Delete osize, call to sim_size, and issue_messages.  Call
	sim_do_commandf to setup memory.
	(sim_create_inferior): Delete issue_messages handling.  Change
	cpu.asregs.msize to DEFAULT_MEMORY_SIZE.  Change strcpy to
	sim_core_write_buffer.

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

	* interp.c (WATCHFUNCTIONS): Undef it.
	(sim_resume): Move WLhash behind WATCHFUNCTIONS.
	(sim_do_command): Delete.

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

	* Makefile.in (NL_TARGET): Define.
	* interp.c (NUM_ELEM, opened, log_open, log_close, is_opened): Delete.
	(syscall_read_mem, syscall_write_mem): New functions.
	(handle_trap1): Delete entire body.  Replace with call to cb_syscall.

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>

	* interp.c (set_initial_gprs): Change CIA_SET to CPU_PC_SET.
	(sim_resume): Change CIA_GET to CPU_PC_GET and CIA_SET to
	CPU_PC_SET.
	(sim_create_inferior): Change CIA_SET to CPU_PC_SET.
	* sim-main.h (CIA_GET, CIA_SET): Delete.

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

	* interp.c (mcore_pc_get, mcore_pc_set): New functions.
	(sim_open): 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.

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

	* config.in, configure: Regenerate.

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

	* interp.c (struct aout, LONG, SHORT): Delete.

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

	* Makefile.in (SIM_RUN_OBJS, SIM_EXTRA_CFLAGS, SIM_EXTRA_LIBS): Delete.
	(SIM_OBJS): Change to $(SIM_NEW_COMMON_OBJS).
	* interp.c: Include sim-main.h, sim-base.h, and sim-options.h.
	(word, uword): Move to sim-main.h.
	(callback, sim_kind, myname): Delete.
	(struct mcore_regset): Move pc to sim_cpu.
	(memcycles, sim_size): Mark static.
	(set_initial_gprs): Take a sim_cpu arg.  Set pc via CIA_SET.
	(handle_trap1): Take a SIM_DESC arg.  Get callback from it.
	(process_stub): Take a SIM_DESC arg.  Pass it to handle_trap1
	(util): Take a SIM_DESC arg.  Pass it to process_stub.
	(sim_resume): Get/set pc via CIA_GET/CIA_SET.  Pass sd to handle_trap1
	and util.
	(sim_trace, sim_stop, sim_load, sim_set_callbacks): Delete.
	(sim_info): Get callback from SIM_DESC.
	(free_state): New cleanup function.
	(sim_open): Rewrite to use new common logic.
	(sim_create_inferior): Get sim_cpu from sd.  Pass to set_initial_gprs
	and set pc via CIA_SET.
	* sim-main.h: New file.

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

	* configure.ac: Call SIM_AC_OPTION_ENDIAN, SIM_AC_OPTION_ALIGNMENT,
	SIM_AC_OPTION_HOSTENDIAN, SIM_AC_OPTION_ENVIRONMENT, and
	SIM_AC_OPTION_INLINE.
	* config.in, configure: Regenerate.

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

	* interp.c (heap_ptr, int_sbrk): Delete.
	(handle_trap1): Change case 69 (sbrk) to always return -1.
	(sim_load): Delete bss checks and heap_ptr setup.

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

	* interp.c: Strip trailing whitespace.

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

	* configure.ac: Call SIM_AC_OPTION_WARNINGS.
	* confingure: Regenerate.
	* interp.c (mcore_extract_unsigned_integer): Make static and update
	prototype.  Fix up printf string.
	(mcore_store_unsigned_integer): Make static and update prototype.
	(int_sbrk): Likewise.
	(wbat, wlat, what, rbat, rlat, rhat): Delete INLINE and update
	prototype.
	(SEXTB, SEXTW, IOMEM): Delete.
	(sim_size): Update prototype.  Fix up printf string.
	(init_pointers): Update prototype.
	(set_initial_gprs): Update prototype.  Fix up printf string.
	(log_open, log_close, is_opened, handle_trap1, process_stub, util,
	iu_carry): Update prototype.
	(sim_resume): Update prototype.  Change addr to a word.
	(sim_write, sim_read, sim_store_register, sim_fetch_register,
	sim_trace, sim_stop_reason, sim_stop, sim_info, sim_open,
	sim_close, sim_load, sim_create_inferior, sim_do_command,
	sim_set_callbacks): Update prototype.

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

	* config.in, configure: Regenerate.

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

	* Makefile.in (SIM_EXTRA_CLEAN): Delete.
	(interp.o, mcore-clean): Delete rules.

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-03-14  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (AC_CHECK_HEADERS): Delete.
	* aclocal.m4, configure: Regenerate.

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

	* interp.c: Delete sysdep.h and netinet/in.h includes.
	Include stdlib.h and string.h.
	* sysdep.h: Delete.

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

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

2015-02-11  Chen Gang <gang.chen.5i5j@gmail.com>

	* interp.c: Include "unistd.h".

2015-02-02  Chen Gang  <gang.chen.5i5j@gmail.com>

	* interp.c (sim_do_command): Call freeargv() before return.

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.

2014-02-17  Mike Frysinger  <vapier@gentoo.org>

	PR gdb/16450
	* interp.c (interrupt): Delete.
	(sim_resume): Delete signal(SIGINT) handling.

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-20  Hans-Peter Nilsson  <hp@axis.com>

	PR 14072
	* interp.c: Include config.h before system header files.

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.

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

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

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

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

	* configure: Regenerate.

2008-07-11  Hans-Peter Nilsson  <hp@axis.com>

	* configure: Regenerate to track ../common/common.m4 changes.
	* config.in: Ditto.

2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

2006-12-21  Hans-Peter Nilsson  <hp@axis.com>

	* config.in: Regenerate.

2006-06-13  Richard Earnshaw  <rearnsha@arm.com>

	* configure: Regenerated.

2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure: Regenerated.

2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure: Regenerated.

2005-03-23  Mark Kettenis  <kettenis@gnu.org>

	* configure: Regenerate.

2005-01-14  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: Sinclude aclocal.m4 before common.m4.  Add
	explicit call to AC_CONFIG_HEADER.
	* configure: Regenerate.

2005-01-12  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: Update to use ../common/common.m4.
	* configure: Re-generate.

2005-01-11  Andrew Cagney  <cagney@localhost.localdomain>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

2005-01-07  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: Rename configure.in, require autoconf 2.59.
	* configure: Re-generate.

2004-12-08  Hans-Peter Nilsson  <hp@axis.com>

	* configure: Regenerate for ../common/aclocal.m4 update.

2003-10-11  Alan Modra  <amodra@bigpond.net.au>

	* interp.c (sim_load): Don't refer directly to _cooked_size and vma;
	Use bfd_section_size and bfd_get_section_vma.

2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

2002-06-16  Andrew Cagney  <ac131313@redhat.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

2002-06-08  Andrew Cagney  <cagney@redhat.com>

	* interp.c: Include "gdb/callback.h" and "gdb/remote-sim.h".

Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

2000-02-14  Nick Clifton  <nickc@cygnus.com>

	* interp.c (handle_trap1): Fix handling of fclose system call.
	Patch submitted by <drew.sarkisian@motorola.com>.

2000-02-10  Nick Clifton  <nickc@cygnus.com>

	* interp.c (target_big_endian): New variable.
	(mcore_extract_unsigned_integer, mcore_store_unsigned_integer,
	wlat, rlat, sim_resume, sim_load): Add supprot for little
	endian targets.

2000-01-13  Nick Clifton  <nickc@cygnus.com>

	* interp.c (sim_resume): Do not rely upon host semantics of shift
	operators to implement M*Core semantics.

Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

1999-06-23  Nick Clifton  <nickc@cygnus.com>

	* sysdep.h: Do not define prototypes for memcpy and strchr if they
	are macros.

1999-05-21  Nick Clifton  <nickc@cygnus.com>

	* interp.c (sim_resume): Add more tracing output.

1999-05-17  Keith Seitz  <keiths@cygnus.com>

	* interp.c (NUM_MCORE_REGS): Increase by one to allow access to PC.
	(sim_resume): Correct off by one instruction error when a breakpoint
	is hit.

1999-05-08  Felix Lee  <flee@cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

1999-05-10  Nick Clifton  <nickc@cygnus.com>

	* interp.c (sim_resume): Record PC in case it is needed for error
	messages and the original has been corrupted.

1999-05-07  Nick Clifton  <nickc@cygnus.com>

	* interp.c (sim_resume): Fix typo 'oze' -> 'doze'.
	(util): Handle 0x50FF stubs properly.


1999-04-29  Nick Clifton  <nickc@cygnus.com>

	* interp.c (set_initial_gprs): Only display memory range if
	verbose option has been set.

1999-04-22  Nick Clifton  <nickc@cygnus.com>

	* interp.c: Add tracing and verbose options.
	Fixed trap and syscall emulations.

1999-04-08  Nick Clifton  <nickc@cygnus.com>

	* interp.c: New file: Simulator for MCore.
	* sysdep.h: New file: Systems definitions for MCore simulator.
	* configure.in: New file: Configure script for MCore simulator.
	* configure: New file: Genreated.
	* config,in: New file: Config support.
	* Makefile.in: New file: Meta makefile for MCore simulator.
