2013-03-15  Steve Ellcey  <sellcey@mips.com>

	* arm/wrapper.c (sim_complete_command): Make char arguments const.
	* avr/interp.c (sim_complete_command): Ditto.
	* common/sim-options.c (sim_complete_command): Ditto.
	* cr16/interp.c (sim_complete_command): Ditto.
	* erc32/interf.c (sim_complete_command): Ditto.
	* m32c/gdb-if.c (sim_complete_command): Ditto.
	* microblaze/interp.c (sim_complete_command): Ditto.
	* ppc/sim_calls.c (sim_complete_command): Ditto.
	* rl78/gdb-if.c (sim_complete_command): Ditto.
	* rx/gdb-if.c (sim_complete_command): Ditto.
	* sh/interp.c (sim_complete_command): Ditto.

2013-01-01  Joel Brobecker  <brobecker@adacore.com>

	Update year range in copyright notice of all files.

2012-12-19  Joel Brobecker  <brobecker@adacore.com>

	Update old contact info in GPL license notices.

2012-12-19  Joel Brobecker  <brobecker@adacore.com>

	Update the non-FSF-copyrighted files in sim to GPLv3 or later.

2012-11-20  Pavel Chupin  <pavel.v.chupin@intel.com>

	* common/Make-common.in: Use lt_cv_dlopen_libs under PLUGINS
	condition.
	* common/acinclude.m4: Define lt_cv_dlopen_libs.
	* arm/configure: Regenerate.
	* avr/configure: Regenerate.
	* bfin/configure: Regenerate.
	* common/configure: Regenerate.
	* cr16/configure: Regenerate.
	* cris/configure: Regenerate.
	* d10v/configure: Regenerate.
	* erc32/configure: Regenerate.
	* frv/configure: Regenerate.
	* h8300/configure: Regenerate.
	* igen/configure: Regenerate.
	* iq2000/configure: Regenerate.
	* lm32/configure: Regenerate.
	* m32c/configure: Regenerate.
	* m32r/configure: Regenerate.
	* m68hc11/configure: Regenerate.
	* mcore/configure: Regenerate.
	* microblaze/configure: Regenerate.
	* mips/configure: Regenerate.
	* mn10300/configure: Regenerate.
	* moxie/configure: Regenerate.
	* ppc/configure: Regenerate.
	* rl78/configure: Regenerate.
	* rx/configure: Regenerate.
	* sh/configure: Regenerate.
	* sh64/configure: Regenerate.
	* testsuite/configure: Regenerate.
	* v850/configure: Regenerate.

2012-11-05  Stephane Carrez  <Stephane.Carrez@gmail.com>

	* MAINTAINERS: Update my email address.

2012-09-24  Steve Ellcey  <sellcey@mips.com>

	* mips/basic.exp: Add mips*-mti-elf* target.
	* configure.ac: Add mips*-mti-elf* target.
	* configure: Regenerate.

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

	* configure: Regenerate.

2012-06-06  Michael Eager  <eager@eagercon.com>

	* microblaze/interp.c (config.h): Add #include.

2011-11-29  Joel Brobecker  <brobecker@adacore.com>

	* MAINTAINERS (Global Maintainers): New section.  Add Mike
	Frysinger.

2011-11-28  DJ Delorie  <dj@redhat.com>

	* configure.tgt: Add rl78 support.
	* configure: Regenerate.
	* rl78: New directory.
	* MAINTAINERS: Add myself as RL78 maintainer.

2011-07-08  Hans-Peter Nilsson  <hp@axis.com>

	* MAINTAINERS: Remove Thiemo Seufer.

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

	* configure.tgt (bfin-*-*): Add sim_testsuite=yes.
	* configure: Regenerate.

2011-05-04  Joseph Myers  <joseph@codesourcery.com>

	* configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
	handle targets.
	* configure: Regenerate.

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

	* MAINTAINERS: Add bfin entry.
	* configure.tgt (bfin-*-*): Handle bfin targets.
	* configure: Regenerate.

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

	* .gitignore: Add /*/hw-config.h.

2010-12-23  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: New file.

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

	* MAINTAINERS: Add self as RX maintainer.  Sort list.

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

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

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

	* configure.ac: Target logic moved out to and included from ...
	* configure.tgt: ... this new file.
	* configure: Regenerated.

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

	* README-HACKING: Add more sections.

2010-02-11  Doug Evans  <dje@sebabeach.org>

	* cris/cpuv10.h, * cris/cpuv32.h, * cris/cris-desc.c,
	* cris/cris-desc.h, * cris/decodev10.c, * cris/decodev32.c,
	* cris/modelv10.c, * cris/modelv32.c, * cris/semcrisv10f-switch.c,
	* cris/semcrisv32f-switch.c: Regenerate.

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

	* avr/configure: Regenerate.
	* cris/configure: Regenerate.
	* microblaze/configure: Regenerate.

2010-01-02  Doug Evans  <dje@sebabeach.org>

	* cris/arch.c, * cris/arch.h, * cris/cpuall.h, * cris/cpuv10.c,
	* cris/cpuv10.h, * cris/cpuv32.c, * cris/cpuv32.h, * cris/cris-desc.c,
	* cris/cris-desc.h, * cris/cris-opc.h, * cris/decodev10.c,
	* cris/decodev10.h, * cris/decodev32.c, * cris/decodev32.h,
	* cris/modelv10.c, * cris/modelv32.c, * cris/semcrisv10f-switch.c,
	* cris/semcrisv32f-switch.c: Regenerate, update copyright year.

2010-01-01  Doug Evans  <dje@sebabeach.org>

	* cris/mloop.in: Fix copyright year update snafu.

2009-11-24  Joel Brobecker  <brobecker@adacore.com>

	* common/aclocal.m4: Add include of ../../config/zlib.m4.
	* common/common.m4: Use AM_ZLIB to check for zlib support.
	* ppc/configure.ac: Likewise.
	* arm/configure, avr/configure, common/configure, cr16/configure,
	cris/configure, d10v/configure, erc32/configure, frv/configure,
	h8300/configure, iq2000/configure, lm32/configure, m32c/configure,
	m32r/configure, m68hc11/configure, mcore/configure,
	microblaze/configure, mips/configure, mn10300/configure,
	moxie/configure, ppc/configure, sh/configure, sh64/configure,
	v850/configure: Regenerate.

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

	* rx: New directory.
	* configure.ac: Add entry for Renesas RX.
	* configure: Regenerate.

2009-11-22  Doug Evans  <dje@sebabeach.org>

	* cris/cpuall.h: Regenerate.
	* cris/cpuv10.h: Regenerate.
	* cris/cpuv32.h: Regenerate.
	* cris/decodev10.c: Regenerate.
	* cris/decodev10.h: Regenerate.
	* cris/decodev32.c: Regenerate.
	* cris/decodev32.h: Regenerate.

2009-11-12  Tristan Gingold  <gingold@adacore.com>

	* avr/interp.c (sim_write): Allow byte access.
	(sim_read): Ditto.

2009-11-12  Tristan Gingold  <gingold@adacore.com>

	* avr/interp.c (sim_load): Clear memory before loading.

2009-11-09  Tristan Gingold  <gingold@adacore.com>

	* avr/interp.c (sim_resume): Fix typo for OP_ret.

2009-10-23  Doug Evans  <dje@sebabeach.org>

	* cris/arch.c: Regenerate.
	* cris/arch.h: Regenerate.
	* cris/cpuall.h: Regenerate.
	* cris/cpuv10.c: Regenerate.
	* cris/cpuv10.h: Regenerate.
	* cris/cpuv32.c: Regenerate.
	* cris/cpuv32.h: Regenerate.
	* cris/cris-desc.c: Regenerate.
	* cris/cris-desc.h: Regenerate.
	* cris/cris-opc.h: Regenerate.
	* cris/decodev10.c: Regenerate.
	* cris/decodev10.h: Regenerate.
	* cris/decodev32.c: Regenerate.
	* cris/decodev32.h: Regenerate.
	* cris/modelv10.c: Regenerate.
	* cris/modelv32.c: Regenerate.
	* cris/semcrisv10f-switch.c: Regenerate.
	* cris/semcrisv32f-switch.c: Regenerate.

2009-10-22  Tristan Gingold  <gingold@adacore.com>

	* avr/interp.c (sim_stop): Return 1.

2009-10-16  Doug Evans  <dje@sebabeach.org>

	* MAINTAINERS: Add myself as m32r maintainer.

2009-10-15  Michael Egaer  <eager@eagercon.com>

	* MAINTAINERS: Add self as MicroBlaze maintainer.

2009-10-14  Ben Elliston  <bje@gnu.org>

	* MAINTAINERS (common): Move myself to "past maintainers" section.

2009-10-06  Michael Eager  <eager@eagercon.com>

	* microblaze/interp.c: Add include microblaze-dis.h.
	
2009-09-23  Michael Eager  <eager@eagercon.com>

	* configure: Add microblaze-*.* (not regenerated).
	* configure.ac: Likewise.
	* microblaze/config.in: New.
	* microblaze/configure: Generate.
	* microblaze/configure.ac: New.
	* microblaze/interp.c: New.
	* microblaze/Makefile.in: New.
	* microblaze/microblaze.h: New.
	* microblaze/microblaze.isa: New.
	* microblaze/sim-main.h: New.
	* microblaze/sysdep.h: New.

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

	* avr/config.in: Regenerate.
	* avr/configure: Likewise.
	* configure: Likewise.
	* cris/config.in: Likewise.
	* cris/configure: Likewise.

	* configure.ac: m4_include toplevel config/override.m4.
	* configure: Regenerate.
	* avr/configure: Regenerate.
	* cris/configure: Regenerate.

2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in (datarootdir): New variable.

2009-05-18  Jon Beniston <jon@beniston.com>

        * MAINTAINERS: Add Jon Beniston as maintainer of lm32 sim.
        * configure.ac: Add lm32 target. 
        * lm32: New directory.               

2009-05-11  Andrew Cagney  <cagney@gnu.org>

	* MAINTAINERS: Orphan ppc.

2009-05-08  Kevin Buettner  <kevinb@redhat.com>

	* m32c/gdb-if.c (m32c_signal_to_host): Rename to
	m32c_signal_to_target.  Change signal return values from SIGILL,
	SIGTRAP, SIGSEGV, etc. to TARGET_SIGNAL_ILL, TARGET_SIGNAL_TRAP,
	TARGET_SIGNAL_SEGV, etc.  Fix all callers.

2009-04-30  Anthony Green  <green@moxielogic.com>

	* MAINTAINERS: Add myself for the moxie port.
	* moxie: New directory.
	* configure.ac: Add entry for moxie.
	* configure: Regenerate.

2009-04-27  Tristan Gingold  <gingold@adacore.com>

	* avr: New directory.
	* avr/interp.c, avr/Makefile.in, avr/configure.ac: New files.
	* avr/config.in: New file, generated by autoheader.
	* avr/configure: New file generated by autoconf.
	* configure.ac: Add avr.
	* configure: Regenerated.

2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add dummy install-pdf, html, and
	install-html targets.

2009-01-18  Hans-Peter Nilsson  <hp@axis.com>

	* cris/sim-if.c: Include errno.h.
	(cris_start_address, cris_program_offset): New variables.
	(OPTION_CRIS_PROGRAM_OFFSET, OPTION_CRIS_STARTADDR): New option
	enums.
	(cris_options): New options --cris-program-offset and
	--cris-start-address.
	(cris_option_handler): Handle new options.
	(cris_program_offset_write, cris_set_section_offset_iterator)
	(cris_offset_sections, cris_offset_sections): New functions.
	(sim_load): Use cris_program_offset_write as function argument to
	cris_load_elf_file, not sim_write.
	(struct offsetinfo): New struct.
	(cris_handle_interpreter): Fix typo in comment.
	(sim_open): Call cris_offset_sections as soon as the bfd of the
	infile is available.  Gate bfd validity checks on abfd non-NULL.
	(sim_create_inferior): Let cris_start_address when != -1 override
	other start-address choices.

2009-01-06  Hans-Peter Nilsson  <hp@axis.com>

	* cris/traps.c (abort): Define to call sim_io_error.
	(create_map): Make -1 imply a non-fixed address, not 0.  All
	callers changed.  Only prefer the next higher unmapped address if
	the last mapped address is no less than 0x40000000.  Check that
	the address to be mapped is not already mapped.  Update head
	comment.
	(unmap_pages): Don't call abort when recursive call fails, just
	note and return an error if a page in the range couldn't be unmapped.
	(cris_bmod_handler, h_supr_set_handler, h_supr_get_handler)
	(schedule, make_first_thread, cris_pipe_empty): New local variable sd.
	(cris_break_13_handler) <case TARGET_SYS_mmap2>: Handle
	non-MAP_FIXED argument overlapping existing map.  For MAP_FIXED,
	don't abort on page not being mapped.  Handle non-anon filemap
	with length padded to pagesize.

2009-01-03  Hans-Peter Nilsson  <hp@axis.com>

	* cris/sim-if.c (TARGET_AT_NULL, TARGET_AT_PHDR, TARGET_AT_PHENT)
	(TARGET_AT_PHNUM, TARGET_AT_PAGESZ, TARGET_AT_BASE)
	(TARGET_AT_FLAGS, TARGET_AT_ENTRY, TARGET_AT_UID, TARGET_AT_EUID)
	(TARGET_AT_GID, TARGET_AT_EGID, TARGET_AT_HWCAP)
	(TARGET_AT_CLKTCK): Remove redundant macros.
	(AUX_ENT): Adjust to use standard ELF AT_* macros.
	(AUX_ENTF): Ditto.  Remove always-0 middle argument.  Update all
	callers.
	(sim_open): Also pass AT_SECURE.

	* cris/sim-main.h (struct _sim_cpu): New member
	set_target_thread_data.
	* cris/crisv32f.c (CRIS_TLS_REGISTER): Define.
	* cris/crisv10f.c: Ditto.
	* cris/cris-tmpl.c (MY (set_target_thread_data)): New function.
	(MY (f_specific_init)): Set new _sim_cpu member to new function.
	* cris/traps.c (TARGET_SYS_set_thread_area): Define.
	(cris_break_13_handler) <case TARGET_SYS_set_thread_area>: New
	case.

	* cris/traps.c (TARGET_SYS_exit_group): Define.
	(cris_break_13_handler): Handle it like the exit for the last
	thread.

	* cris/traps.c (TARGET_UTSNAME): Update to 2009-01-01.
	(TARGET_EPOCH): Update to match TARGET_UTSNAME.  Correct comment.
	(cris_break_13_handler) <case TARGET_SYS_uname>: Update to
	2.6.27.  Set machine field to the BFD printable name of the
	machine.

	* cris/traps.c (TARGET_MAP_DENYWRITE): Define.
	(cris_break_13_handler) <case TARGET_SYS_mmap2>: Handle
	TARGET_MAP_DENYWRITE.

	* cris/traps.c (TARGET_SYS_access, TARGET_R_OK, TARGET_W_OK)
	(TARGET_X_OK, TARGET_F_OK): Define.
	(cris_break_13_handler) <case TARGET_SYS_access>: New case.

	* cris/semcrisv32f-switch.c: Regenerate.

2008-12-30  Hans-Peter Nilsson  <hp@axis.com>

	* cris/sim-if.c (sim_open): If sim_analyze_program fails, emit
	just a short CRIS-specific notice.  Tweak the wording for a
	failing architecture test.

	* cris/traps.c (TARGET_SYS_writev): New macro.
	(is_mapped_only, cris_dump_map): New functions.
	(cris_break_13_handler) <case TARGET_SYS_mmap2>: Handle more flags
	and prot combinations and a non-zero page-offset.  If
	TARGET_MAP_FIXED, unmap pages before mapping them.
	<case TARGET_SYS_mprotect>: When checking, allow any length
	argument.  Don't actually do anything.
	<case TARGET_SYS_writev>: New case.

	* cris/Makefile.in (SIM_OBJS): Remove sim-hload.o.
	* cris/sim-if.c: Include elf-bfd.h.
	(struct progbounds): New members end_loadmem, start_nonloadmem.
	(xprintf, eprintf): New functions, copied from common/sim-load.c.
	(cris_load_elf_file, sim_load, cris_get_progbounds): New functions.
	(get_progbounds_iterator): Renamed from get_progbounds.  Make
	static.  Update head comment.  Set new struct progbounds members.
	(exec_load_addr, interp_load_addr, interp_start_addr): New static
	variables.
	(aux_ent_phdr, aux_ent_phent, aux_ent_phnum, aux_ent_base)
	(aux_ent_entry, cris_write_interp, cris_handle_interpreter): New
	functions.
	(sim_open): New constant array auxv_entries.  Rewrite AUX_ENT
	handling to use auxv_entries.  Improve error message and checking
	for invalid programs.  Use new variable abfd for the program
	instead of for each access reaching into sd to get it.
	(sim_create_inferior): If non-zero, use interp_start_addr instead
	of the program start address.
	(cris_disassemble_insn): Remove incorrect and unclear, supposedly
	stale comment.  Always specify little-endian.

2008-07-29  Nick Clifton  <nickc@redhat.com>

	* common/genmloop.sh: Add new parameter: -shell to specify the
	command interpreter to use to run the input file.  This is
	necessary because otherwise SHELL is taken from the user's
	environment, and not from the makefile that invoked this script
	and the user might not be running an sh-like shell.
	* cris/Makefile.in: Pass -shell parameter to genmloop.sh.
	* fr30/Makefile.in: Likewise.
	* frv/Makefile.in: Likewise.
	* i960/Makefile.in: Likewise.
	* iq2000/Makefile.in: Likewise.
	* m32r/Makefile.in: Likewise.

	* frv/mloop.in: Add missing start of line comment marker.

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

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

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

	* cris/configure: Regenerate.

2008-05-09  Olivier Hainque  <hainque@adacore.com>

	* ppc/altivec.igen (vperm): Latch inputs into temporaries.

2008-03-25  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* MAINTAINERS: Add myself as maintainer of cr16 port.

2008-02-12  M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>

	Add simulator for National cr16 processor.
	* cr16: New directory.
	* configure.ac: Add entry for National cr16.
	* configure: Regenerate.

2008-02-05  DJ Delorie  <dj@redhat.com>

	* configure.ac (v850): V850 now has a testsuite.
	* configure (v850): Likewise.

2008-01-01  Daniel Jacobowitz  <dan@codesourcery.com>

	Updated copyright notices for most files.

2007-12-19  DJ Delorie  <dj@redhat.com>

	* frv/frv.c (frvbf_cut): Only look at the six LSBs of
	cut_point.

2007-10-22  Hans-Peter Nilsson  <hp@axis.com>

	* cris/arch.c, cris/arch.h, cris/cpuall.h, cris/cpuv10.c,
	cris/cpuv10.h, cris/cpuv32.c, cris/cpuv32.h, cris/cris-desc.c,
	cris/cris-desc.h, cris/cris-opc.h, cris/decodev10.c,
	cris/decodev10.h, cris/decodev32.c, cris/decodev32.h,
	cris/modelv10.c, cris/modelv32.c, cris/semcrisv10f-switch.c,
	cris/semcrisv32f-switch.c: Regenerate.

2007-08-24  Joel Brobecker  <brobecker@adacore.com>

	Switch the license of all files explicitly copyright the FSF
	to GPLv3.

2007-03-27  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add dummy "pdf" target.

2007-02-20  Hans-Peter Nilsson  <hp@axis.com>

	* cris/traps.c (dump_statistics): Change format for cycle numbers
	to %llu and cast parameters to unsigned long long.

2007-02-16  Thiemo Seufer  <ths@mips.com>

	* Makefile.in (FLAGS_TO_PASS, TARGET_FLAGS_TO_PASS): Add RUNTEST.

2007-01-28  Manuel Lauss  <slauss@resi.at>

	* configure.ac (sh64-*-*): Change to sh64*-*-*.
	(sh-*-*): Change to sh*-*-*.
	* configure: Regenerated.

2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>

	Updated copyright notices for most files.

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

	* Makefile.in (autoconf-common autoheader-common): Only run
	autoheader on subdirs with a file config.in.

	* configure.ac (common): Make the default "yes" for all targets
	with sim subdirs.
	* configure: Regenerate.

	* Makefile.in (autoconf-common autoheader-common): In documented
	usage, say SHELL=/bin/sh.
	(.PHONY): Add autoheader-common.

	* MAINTAINERS: Add self as authorized committer for *.

2006-10-02  Edgar E. Iglesias  <edgar@axis.com>
	    Hans-Peter Nilsson  <hp@axis.com>

	* cris/cris-sim.h (enum cris_unknown_syscall_action_type)
	(cris_unknown_syscall_action): Declare.
	* cris/sim-if.c (cris_unknown_syscall_action): Define.
	(cris_options): Add cris-unknown-syscall option.
	(cris_option_handler): Correct comment about and error message for
	invalid --cris-cycles argument.  Handle --cris-unknown-syscall.
	* cris/traps.c: Include stdarg.h
	(cris_unknown_syscall): New function.
	(cris_break_13_handler): Instead of sim_io_eprintf and
	sim_engine_halt, call cris_unknown_syscall to handle more or less
	unknown syscalls.  Adjust code as necessary to handle return
	value.

2006-09-30  Daniel Jacobowitz  <dan@codesourcery.com>

	* MAINTAINERS: Add Dave Brolley for sh64.

2006-09-30  Hans-Peter Nilsson  <hp@axis.com>

	* cris/traps.c (TARGET_PIPE_BUF): New macro.
	(cris_pipe_empty): Correct initialization of "remaining".  Only
	adjust the "write" return value if more than TARGET_PIPE_BUF bytes
	are written.

2006-09-29  Hans-Peter Nilsson  <hp@axis.com>

	* cris/configure.ac: Check for limits.h and sys/param.h.
	* cris/configure, cris/config.in: Rebuild.
	* cris/traps.c (SIM_PATHMAX): New macro.
	(cris_break_13_handler): Use SIM_PATHMAX, not MAXPATHLEN.

2006-08-08  Joel Sherrill <joel.sherrill@oarcorp.com>

	* configure.ac (sparc-*-rtems*|sparc-*-elf*): Enable erc32 simulator.
	* Makefile.in (FLAGS_TO_PASS): Include libdir.
	* configure: Regenerated.

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

	* cris/configure: Regenerated.

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

	* cris/configure: Regenerated.

2006-05-05  Andreas Schwab  <schwab@suse.de>

	* configure.ac (CFLAGS_FOR_BUILD): Set and substitute.
	* configure: Regenerate.

	* Makefile.in (CFLAGS_FOR_BUILD): Define.
	(CC_FOR_BUILD): Don't override.
	(FLAGS_TO_PASS): Pass CFLAGS_FOR_BUILD.

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

	* MAINTAINERS: Add an "Authorized committers" section, and list
	DJ Delorie for v850.

2006-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* cris/crisv32f.c (MY (deliver_interrupt)): Set CCS to new_ccs.

2006-04-03  Hans-Peter Nilsson  <hp@axis.com>

	* cris/dv-cris.c, cris/dv-rv.c, cris/rvdummy.c: New files.
	* cris/Makefile.in (CONFIG_DEVICES): Remove redundant setting.
	(dv-cris.o, dv-rv.o rvdummy$(EXEEXT), rvdummy.o): New rules.
	(all): Depend on rvdummy$(EXEEXT).
	* cris/configure.ac: Call SIM_AC_OPTION_WARNINGS.  Check for
	sys/socket.h and sys/select.h.  Call SIM_AC_OPTION_HARDWARE,
	default off.
	* cris/configure: Regenerate.
	* cris/cris-sim.h (cris_have_900000xxif): Declare here.
	(enum cris_interrupt_type, crisv10deliver_interrupt)
	(crisv32deliver_interrupt: New declarations.
	* cris/cris-tmpl.c [WITH_HW] (MY (f_model_insn_after)): Call
	sim_events_tickn and set state-events member work_pending when it's
	time for the next event.
	[WITH_HW] (MY (f_specific_init)): Set CPU-model-specific
	interrupt-delivery function.
	* cris/crisv10f.c (MY (deliver_interrupt)): New function.
	* cris/crisv32f.c (MY (deliver_interrupt)): New function.
	* cris/devices.c: Include hw-device.h.
	(device_io_read_buffer) [WITH_HW]: Call hw_io_read_buffer.
	(device_io_write_buffer): Only perform 0x900000xx-functions if
	cris_have_900000xxif is nonzero.  Else if WITH_HW defined,
	call hw_io_write_buffer.  Add return 0 last in function.
	* cris/sim-if.c (cris_have_900000xxif): Now global.
	(sim_open) [WITH_HW]: Clear deliver_interrupt cpu member.
	Force "-model" option, effectively.
	* cris/sim-main.h (cris_interrupt_delivery_fn): New type.
	(struct _sim_cpu) [WITH_HW]: New member deliver_interrupt.

2006-04-02  Hans-Peter Nilsson  <hp@axis.com>

	* cris/Makefile.in (CRISV10F_OBJS): Remove semcrisv10f-switch.o.
	(CRISV32F_OBJS): Remove semcrisv32f-switch.o.
	(semcrisv10f-switch.o, semcrisv32f-switch.o: Remove dependency rules.

2006-03-13  DJ Delorie  <dj@redhat.com>

	* MAINTAINERS: Add self as m32c sim maintainer.

2006-02-23  Hans-Peter Nilsson  <hp@axis.com>

	* cris/traps.c (syscall_map): Remove CB_SYS_time / TARGET_SYS_time
	mapping.
	(cris_break_13_handler) <case TARGET_SYS_time>: New case.

2006-01-23  Jim Blandy  <jimb@redhat.com>

	Add simulator for Renesas M32C and M16C.

	* m32c: New directory.
	* configure.ac: Add entry for Renesas M32C.
	* configure: Regenerate.

2006-01-10  Hans-Peter Nilsson  <hp@axis.com>

	* cris/cris-tmpl.c (MY (f_model_insn_before)): Only display basic
	cycle count for the current insn.

2005-12-06  Hans-Peter Nilsson  <hp@axis.com>

	* cris/cpuv10.h, cris/cpuv32.h, cris/cris-desc.c, cris/cris-opc.h,
	cris/decodev10.c, cris/decodev10.h, cris/decodev32.c,
	cris/decodev32.h, cris/modelv10.c, cris/modelv32.c,
	cris/semcrisv10f-switch.c, cris/semcrisv32f-switch.c: Regenerate.

2005-12-05  Hans-Peter Nilsson  <hp@axis.com>

	* cris/arch.c, cris/arch.h, cris/cpuall.h, cris/cpuv10.c,
	cris/cpuv10.h, cris/cpuv32.c, cris/cpuv32.h, cris/cris-desc.c,
	cris/cris-desc.h, cris/cris-opc.h, cris/decodev10.c,
	cris/decodev10.h, cris/decodev32.c, cris/decodev32.h,
	cris/modelv10.c, cris/modelv32.c, cris/semcrisv10f-switch.c,
	cris/semcrisv32f-switch.c: Regenerate.

2005-11-20  Hans-Peter Nilsson  <hp@axis.com>

	* cris/traps.c (TARGET_O_RDONLY, TARGET_O_WRONLY): Define.
	(open_map): Use TARGET_O_ACCMODE, TARGET_O_RDONLY and
	TARGET_O_WRONLY.
	(cris_break_13_handler) <case TARGET_SYS_fcntl>: Add support for
	F_GETFL on fd 0, 1 and 2.

2005-11-17  Hans-Peter Nilsson  <hp@axis.com>

	* cris/sim-main.h (struct _sim_cpu): New members last_syscall,
	last_open_fd, last_open_flags.
	* cris/traps.c: Don't include targ-vals.h.
	(TARGET_O_ACCMODE): Define.
	(cris_break_13_handler): Set new _sim_cpu members.
	<case TARGET_SYS_fcntl>: Support special case of F_GETFL.
	Rearrange code as switch.  Emit "unimplemented" abort for
	unimplemented fcntl calls.

	* cris/traps.c (TARGET_SYS_stat): Define.
	(syscall_stat32_map): Add entry for TARGET_SYS_stat.
	(cris_break_13_handler) <case TARGET_SYS_stat>: New case.

2005-11-16  Hans-Peter Nilsson  <hp@axis.com>

	* cris/cris-tmpl.c (MY (f_model_insn_before)): Make sure only the
	low 32 bits are used after an unsigned long cast.

2005-05-28  Hans-Peter Nilsson  <hp@axis.com>

	* cris/Makefile.in (stamp-v32fmloop): Depend on stamp-v10fmloop.

2005-05-26  Chris Demetriou  <cgd@netbsd.org>

	* MAINTAINERS: Update my mail address, move myself to the
	"Past maintainers" section.

2005-05-17  Corinna Vinschen  <vinschen@redhat.com>

	* configure.ac: Add igen to v850 build.
	* configure: Regenerate.

2005-04-29  Paul Brook  <paul@codesourcery.com>

	* common/callback.c (PIPE_BUF): Provide default definition.
	(os_lstat): Use stat if lstat is not available on the host.
	(os_ftruncate): Return EINVAL if not available on the host.
	(os_truncate): Ditto.
	* common/configure.ac: Check for lstat, truncate and ftruncate.
	* common/configure: Regenerate.
	* common/config.in: Regenerate.

2005-04-27  Paul Brook  <paul@codesourcery.com>

	* common/Make-common.in: Add $(EXEEXT) to "run".

2005-04-18  Hans-Peter Nilsson  <hp@axis.com>

	* cris/traps.c (cris_break_13_handler) <case TARGET_SYS_mmap2>:
	For ((len & 8191) != 0 && fd == (USI) -1), don't say this isn't
	implemented.  In call to create_map, pad length argument to 8k. 

2005-04-15  Corinna Vinschen  <vinschen@redhat.com>

	* configure.ac: Add explicit sh64 case.
	* configure: Regenerate.

2005-03-30  Paul Brook  <paul@codesourcery.com>

	* arm/wrapper.c: Provide SIGTRAP and SIGBUS.

2005-03-24  Hans-Peter Nilsson  <hp@axis.com>

	* cris/Makefile.in (stamp-v10fcpu, stamp-v32fcpu): Add kludge to
	include cgen-ops.h in decodev10.c and decodev32.c.
	* cris/sim-main.h: Don't include cgen-ops.h here.
	* cris/arch.c, cris/arch.h, cris/cpuall.h, cris/cpuv10.c,
	cris/cpuv10.h, cris/cpuv32.c, cris/cpuv32.h, cris/cris-desc.c,
	cris/cris-desc.h, cris/cris-opc.h, cris/decodev10.c,
	cris/decodev10.h, cris/decodev32.c, cris/decodev32.h,
	cris/modelv10.c, cris/modelv32.c, cris/semcrisv10f-switch.c,
	cris/semcrisv32f-switch.c: Regenerate.

	* cris/traps.c (cris_break_13_handler) <case
	TARGET_SYS_rt_sigaction>: Rename sa_handler, sa_flags,
	sa_restorer, sa_mask_low, sa_mask_high to target_sa_handler etc.

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

	* cris/configure: Regenerate.

2005-02-28  Jim Blandy  <jimb@redhat.com>

	* d10v/configure.ac, igen/configure.ac, m68hc11/configure.ac,
	mips/configure.ac, mn10300/configure.ac, v850/configure.ac:
	Regenerated, after change to common/aclocal.m4.

2005-02-18  Corinna Vinschen  <vinschen@redhat.com>

	* iq2000: New target subdirectory.
	* configure.ac: Add iq2000 target.
	* configure: Regenerate.

2005-01-29  Hans-Peter Nilsson  <hp@axis.com>

	* Makefile.in (all, clean mostlyclean, distclean maintainer-clean)
	(realclean, install): Fail if subdir make failed.

2005-01-28  Hans-Peter Nilsson  <hp@axis.com>

	* cris: New directory, simulator for Axis Communications CRIS
	including CRIS v32, CGEN-based.
	* configure.ac: Add corresponding configury.
	* configure: Regenerate.

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

	* configure.ac: For mips*-*-* and mn10300*-*-* configure the
	common directory.  Remove sparc*-*-* from list.
	
2005-01-11  Andrew Cagney  <cagney@gnu.org>

	* Makefile.in (autoconf-common autoheader-common): Add --force to
	autoconf and autoheader.
	(autoconf-common autoheader-common)
	(autoconf-install autoheader-install): Check for configure.ac, not
	configure.in.
	* configure.ac: Delete AC_CONFIG_AUX_DIR.
	* configure: Re-generate.

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

	* configure.ac: Replace configure.in.  Requires autoconf 2.59 and
	correctly calls AC_CONFIG_SUBDIRS.
	* configure: Re-generate.

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

	* i960, h8500: Delete directory.

2004-11-12  Andrew Cagney  <cagney@gnu.org>

	* d30v, fr30, mn10200, z8k: Delete directory.

2004-03-10  Ben Elliston  <bje@gnu.org>

	* MAINTAINERS: Update my mail address.

2004-01-26  Chris Demetriou  <cgd@broadcom.com>

	* configure.in (mips*-*-*): Configure in testsuite.
	* configure: Regenerate.

2003-10-08  Dave Brolley  <brolley@redhat.com>

	* configure.in: Move frv handling to alphabetically correct placement.

2003-09-03  Andreas Schwab  <schwab@suse.de>

	* Makefile.in (FLAGS_TO_PASS): Pass down $(bindir) and $(mandir).

2003-08-29  Dave Brolley  <brolley@redhat.com>

	* MAINTAINERS: Add myself as maintainer of the FRV port.

2003-08-20  Michael Snyder  <msnyder@redhat.com>
            Dave Brolley  <brolley@redhat.com>

	* frv/: New directory, simulator for the Fujitsu FRV.
	* configure.in: Add frv configury.
	* configure: Regenerate.

2003-08-10  Ben Elliston  <bje@wasabisystems.com>

	* MAINTAINERS: Update my mail address.

2003-08-09  Andrew Cagney  <cagney@redhat.com>

	* MAINTAINERS: Andrew Cagney (mips) and Geoff Keating (ppc) drop
	maintenance.  List igen and sh maintainers.  Mention that target
	and global maintainers pick up the slack.

2003-07-09  Michael Snyder  <msnyder@redhat.com>

	* configure.in: Add testsuite to extra_subdirs for sh.
	* configure: Regenerate.

2003-01-23  Nick Clifton  <nickc@redhat.com>

	* Add sh2e support:

2002-04-02  Alexandre Oliva  <aoliva@redhat.com>

	* sh/gencode.c: Replace sh3e with sh2e except in fsqrt.

2002-08-24  Geoffrey Keating  <geoffk@redhat.com>

	* MAINTAINERS: Update my email address.

2002-07-17  Andrew Cagney  <ac131313@redhat.com>

	* w65/: Delete directory.

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

	* configure.in (extra_subdirs): Mark fr30-*-* as obsolete.
	* configure: Re-generate.

2002-07-13  Andrew Cagney  <ac131313@redhat.com>

	* configure.in (extra_subdirs): Mark d30v-*-* as obsolete.
	* configure: Re-generate.
	
2002-06-16  Andrew Cagney  <ac131313@redhat.com>

	* Makefile.in (autoconf-changelog autoheader-changelog): Let name,
	id, date and host to be overriden by NAME, ID, DATE and HOST
	respectfully.  Use ISO dates.

Thu Jun  6 12:34:13 2002  Andrew Cagney  <cagney@redhat.com>

	* Makefile.in (ChangeLog): New makefile variable.
	* README-HACKING: Mention the ChangeLog makefile variable.

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

	* tic80/: Delete directory.

2002-05-16  Stephane Carrez  <stcarrez@nerim.fr>

	* MAINTAINERS: Update my email address.

2002-03-06  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* MAINTAINERS: Record self as maintainer of m68hc11 simulator.

2002-03-01  Frank Ch. Eigler  <fche@redhat.com>

	* MAINTAINERS: Record self as a co-maintainer of just common/.

2002-02-07  Nick Clifton  <nickc@cambridge.redhat.com>

	* MAINTAINERS: Point to GDB files describing overall maintaince
	and check-in procedures.

2002-01-10  Nick Clifton  <nickc@cambridge.redhat.com>

	* MAINTAINERS: Add myself for ARM portions.

2001-10-19  Andrew Cagney  <ac131313@redhat.com>

	* configure.in: When Linux or NetBSD, enable PowerPC simulator.
	* configure: Re-generate.

2001-02-16  Ben Elliston  <bje@redhat.com>

	* MAINTAINERS: Add myself for common portions.

2001-01-15  Chris Demetriou  <cgd@broadcom.com>

	* MAINTAINERS: Added self and Andrew for the mips sim.

2000-10-25  Geoff Keating  <geoffk@cygnus.com>

	* MAINTAINERS: Added self and Andrew for the ppc sim.

Thu Jul 27 21:26:26 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	From Stephane Carrez <Stephane.Carrez@worldnet.fr>:
	* m68hc11: New directory.
	* configure.in: Add.
	* configure: Regenerate.

Tue Jul  4 13:43:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* tic80: New directory.
	* configure.in: Add configury.
	* configure: Regenerate.

2000-04-20  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add testsuite to strongarm
	directories. 
	* configure: Regenerate.

Sat Mar  4 16:48:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* MAINTAINERS: New file.  Blank.

1999-11-18  Ben Elliston  <bje@cygnus.com>

	* configure.in: Require autoconf 2.13 and remove obsolete
	invocation of AC_C_CROSS.
	* configure: Regenerate.

1999-09-29  Doug Evans  <devans@casey.cygnus.com>

	* configure.in: Configure the testsuite directory for thumb.
	* configure: Regenerate.

1999-07-16  Ben Elliston  <bje@cygnus.com>

	* configure.in: Configure the testsuite directory for arm.
	* configure: Regenerate.

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

	* configure.in: Add support for MCore target.
	* configure: Regenerate.

1999-03-14  Stan Shebs  <shebs@andros.cygnus.com>

	* Makefile.in (FLAGS_TO_PASS, TARGET_FLAGS_TO_PASS): Remove
 	RUNTEST instead of commenting out, fixes portability problem.

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

	* configure.in: Add support for StrongARM target.
	* configure: Regenerate.

1999-01-04  Jason Molenda  (jsm@bugshack.cygnus.com)

	* configure.in: Require autoconf 2.12.1 or higher.

1998-12-08  James E Wilson  <wilson@wilson-pc.cygnus.com>

	* configure.in (i960-*-*): Add.
	* configure: Rebuild.

Wed Nov  4 19:11:43 1998  Dave Brolley  <brolley@cygnus.com>

	* configure.in: Added case for fr30-*-*.
	* configure: Regenerated.

Fri Sep 25 10:12:19 1998  Christopher Faylor <cgf@cygnus.com>

	* ppc/Makefile.in: Add EXEEXT to installed powerpc-eabi-run program
	to allow successful operation on Windows.

Thu May 28 14:59:46 1998 Jillian Ye <jillian@cygnus.com>

	* Makefile.in: Take RUNTEST out of FLAGS_TO_PASS so that make
	check can be invoked recursively.

Wed Apr 29 12:38:53 1998  Mark Alexander  <marka@cygnus.com>

	* configure.in: Build simulator on sparclite and sparc86x targets.
	* configure: Regenerate.

Sun Apr 26 15:21:01 1998  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in (autoconf-common autoheader-common): Don't pass -l
	to autoconf and autoheader.

Fri Apr 24 11:14:13 1998  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in (autoconf-common autoheader-common): Pass `-l
	../common' to autoconf and autoheader.  Unconditionally run
	autoconf in every subdir.
	(autoconf-changelog autoheader-changelog): Unconditionally run
	commands in every subdir.
	(autoconf-install autoheader-install): Likewise.

Tue Mar 24 17:12:43 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>

	* Makefile.in:  Get SHELL from configure.
	* (FLAGS_TO_PASS):  Pass down SHELL.
	* configure:  Regenerate with autoconf 2.12.1 to fix shell issues for
	NT native builds.

Tue Mar 24 11::18:00 1998  Joyce Janczyn  <janczyn@cygnus.com>

	* configure.in (extra_subdirs): Enable igen for mn10300.
	* configure: Re-generate.

Tue Dec  2 10:10:42 1997  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add support for thumb target.

	* configure (extra_subdirs): Add support for thumb target.

Wed Oct  8 12:38:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (extra_subdirs): Add IGEN directory when MIPS
 	target.
	* configure: Regenerate.
	
Fri Sep 12 13:10:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (extra_subdirs): v850ea needs igen.
	* configure: Re-generate.
	
Mon Sep  1 16:48:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (testdir): When a testsuite directory, add that to
 	the list of confdirs.

Tue Aug 19 11:17:46 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (extra_subdirs): Enable igen ready for V850.

Tue Aug 26 15:14:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (w65-*-*, only_if_enabled): Set.
	* configure: Re-generate.
	
Mon Aug 25 16:26:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (sparc*-*-*, only_if_enabled): Set
 	only_if_enabled=yes.  Check only_if_enabled before enabling a
 	simulator.
	* configure: Regenerate.
	
Mon Aug 18 10:56:59 1997  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add v850e target.

Mon Aug 18 10:56:59 1997  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add v850ea target.

Fri Jul 25 11:40:47 1997  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (sparc*-*-*): Don't build erc32.
	* configure: Regenerate.

Thu Apr 24 00:47:20 1997  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (m32r-*-*): New target.
	* configure: Regenerate.

	* Makefile.in (autoconf-common, autoconf-changelog): Change $* to $@.

Mon Apr 21 22:57:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* Makefile.in (.NOEXPORT, MAKEOVERRIDES): Moved to end, BSD make
 	thought that .NOEXPORT was the default target.

Fri Apr 11 17:18:07 1997  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (clean mostlyclean): Restore targets accidentally
	deleted in earlier change.

Thu Apr  3 12:20:32 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* Makefile.in (autoheader-common, autoheader-changelog,
 	autoheader-install): Perform autoheader in addition to autoconf.

Wed Apr  2 15:09:05 1997  Doug Evans  <dje@canuck.cygnus.com>

	* Makefile.in (autoconf-install): New target.
	(autoconf-changelog): Try different way to obtain user name.

Wed Apr  2 14:25:52 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* Makefile.in (autoconf-changelog): New target, update
 	ChangeLog for all subdirectories - normally used after
 	autoconf-common target.

Wed Mar 19 14:26:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* configure.in (extra_subdirs): Include testsuite for d30v.
	* configure: Regenerate.
	
	* Makefile.in (RUNTEST, RUNTESTFLAGS): Borrow test rules from
 	../gdb/Makefile.in
	(check): New rules - drive the testsuite.

Mon Mar  3 13:01:00 1997  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Add mn10200 configure lines accidentally
	removed.
	* configure: Regenerated.

Wed Feb 19 10:34:20 1997  Andrew Cagney  <cagney@critters.cygnus.com>

	* configure.in (extra_subdirs): Generalize common sub directory
 	into a list.
	(extra_subdirs): For d30v add igen to the list to be built.

Sun Feb 16 16:37:47 1997  Andrew Cagney  <cagney@critters.cygnus.com>

	* configure.in (d30v): New target.
	* configure: Regenerated.
	
Wed Feb 19 23:17:13 1997  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Don't require GCC to build the mn10200
	simulator anymore.
	* configure: Rebuilt.

Wed Feb  5 13:28:13 1997  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in: Don't configure any subdirs if no simulator
	is being built.  Don't use erc32 for sparc64.
	* configure: Regenerated.

Tue Feb  4 13:19:39 1997  Doug Evans  <dje@canuck.cygnus.com>

	* Makefile.in (autoconf-common): New target.
	* configure.in: Do configure common.
	* configure: Regenerated.

Thu Jan 23 13:59:52 1997  Stu Grossman  (grossman@critters.cygnus.com)

	* configure configure.in:  Don't configure common anymore.  Files
	from common are now built in the individual simualtor directories.
	This fixes problems with the WinGDB build procedure.

Mon Jan 13 13:16:42 1997  Jeffrey A Law  (law@cygnus.com)

	* configure: Enable the mn10200 simulator.

Wed Nov 20 01:00:36 1996  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (configdirs): Add common.
	* configure: Regenerated.

Fri Nov  1 08:03:30 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (powerpc*-*-linux*): Treat like the other powerpc
	system V based targets.
	* configure: Regenerate.

Thu Oct 17 12:50:08 1996  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (--enable-sim-powerpc): Delete.
	(--enable-sim): Add.
	* configure: Regenerated.

Fri Oct 11 21:13:43 1996  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Only build the V850 simulator if
	we are using gcc.
	* configure: Rebuild.

Sun Sep  8 17:22:50 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Do build erc32 for DOS and Windows hosts.
	* configure: Rebuild.

Wed Sep  4 18:11:27 1996  Stu Grossman  (grossman@critters.cygnus.com)

	* Makefile.in erc32/Makefile.in:  Don't set srcroot.  This should
	be inherited from the parent.  Remove INSTALL_XFORM and
	INSTALL_XFORM1.  Make INSTALL be set from configure.

Wed Sep  4 15:49:16 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Only build the MIPS simulator if we are using
	gcc.
	* configure: Rebuild.

Wed Aug 28 19:05:23 1996  Jeffrey A Law  (law@cygnus.com)

	* configure.in (v850-*-*): Added V850 simulator.

Thu Aug  1 17:08:41 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* configure.in (d10v-*-*): Added D10V simulator.

Wed Jun 26 12:33:57 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)

	* Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
	INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
	(docdir): Removed.
	* configure.in (AC_PREREQ): autoconf 2.5 or higher.
	(AC_PROG_INSTALL): Added.
	* configure: Rebuilt.

Mon Jun 24 14:18:26 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Only configure erc32 if using gcc.
	* configure: Rebuild.

Tue Jun  4 09:24:21 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (sim_target): Build PowerPC simulator for powerpc
	System V.4, Solaris, and Elf targets.
	* configure: Regenerate with autoconf 2.10.

Wed May 22 12:10:49 1996  Rob Savoye  <rob@chinadoll>

	* configure.in: Only built erc32 simulator on Unix hosts as it
	uses pseudo ttys.
	* configure: Regenerated with autoconf 2.8.

Sun May 19 20:20:40 1996  Rob Savoye  <rob@chinadoll.cygnus.com>

	* erc32: Sparc simulator from the ESA.

Sun Apr  7 21:00:09 1996  Fred Fish  <fnf@cygnus.com>

	From: Miles Bader  <miles@gnu.ai.mit.edu>
	* configure.in: Use AC_CHECK_TOOL to find AR & RANLIB.
	* configure: Regenerate using autoconf.

Thu Feb 22 11:31:50 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* Makefile.in (install): Fix typo.

Wed Feb 21 11:59:57 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure: Regenerate with autoconf 2.7.

	* Makefile.in (all): Simplify.
	(clean, mostlyclean): SUBDIRS may contain whitespace; fix the loop
	as in the all target.
	(distclean, maintainer-clean, realclean): Likewise.
	(install): Likewise.

Thu Feb 15 18:37:00 1996  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (all): Remove extra '\' char from shell script.

Wed Feb 14 16:43:59 1996  Mike Meissner  <meissner@tiktok.cygnus.com>

	* Makefile.in (all): Avoid a for loop with zero elements, even if
	the loop will not be executed because of an if statement.

Wed Jan 31 21:48:34 1996  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (install): Add missing semicolon in "fi \".

Thu Nov  9 16:10:56 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* Makefile.in (AR, CC, CFLAGS, CC_FOR_BUILD, RANLIB): Pick up
	defaults from configure.

	* configure.in: Pick up AR, CC, CFLAGS, CC_FOR_BUILD, RANLIB using
	configure defaults.
	(powerpc*-*-eabi*): Build simulator for all powerpc eabi targets
	if either --enable-sim-powerpc is used, or the host compiler is
	GCC.

Wed Nov  8 15:46:49 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>

	* configure.in (mips*-*-*): Added "mips" simulator target.
	* configure: Re-generated.

Tue Oct 10 11:08:20 1995  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (BISON): Remove macro.
	(FLAGS_TO_PASS): Remove BISON.

Sun Oct  8 04:26:27 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* configure.in:  Explicitly `exit 0' for broken shells.
	* configure:  Rebuilt.

Fri Oct  6 12:03:27 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* common/run.c (main): Initialize the callbacks.

Wed Sep 20 13:34:50 1995  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (maintainer-clean): New synonym for realclean.

Fri Aug 25 11:53:43 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (powerpc*-*-eabisim*): Only build the simulator if
	the target is powerpc*-*-eabisim*, since it requires GCC to build.

Mon Aug 21 17:53:48 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (powerpc{,le}-*-*): Add psim from Andrew Cagney
	<cagney@highland.com.au>.
	* configure: Regnerate from configure.in.

Thu Aug  3 10:45:37 1995  Fred Fish  <fnf@cygnus.com>

	* Update all FSF addresses except those in COPYING* files.

Thu Jul 20 15:17:29 1995  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (CC_FOR_BUILD):  Define default and arrange to pass
	submakes either default or passed in value.

Wed Jul  5 14:32:54 1995  J.T. Conklin  <jtc@rtl.cygnus.com>

	* Makefile.in (all, clean, distclean, mostlyclean, realclean,
	  install): Changed targets so that they descend all
	  subdirectories in $(SUBDIRS).
	  (*-all, *-clean, *-install): Removed targets.

	* configure.in: Don't bother with target makefile fragments, they
	  are no longer needed.
	* configure: regenerated.

	* Makefile.in, configure.in: converted to autoconf.
	* configure: New file, generated with autconf 2.4.

Wed May 24 14:48:46 1995  Steve Chamberlain  <sac@slash.cygnus.com>

	* Makefile.in: Support ARM.
	* configure.in: Ditto.

Sun Jan 15 16:53:47 1995  Steve Chamberlain  <sac@splat>

	* Makefile.in: Support W65.
	* configure.in: Ditto.

Sun Mar 13 09:27:50 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* Makefile.in: Add TAGS target.

Mon Sep 13 12:47:15 1993  K. Richard Pixley  (rich@sendai.cygnus.com)

	* Makefile.in (all-z8k, install-z8k, clean-z8k, all-h8300,
	  install-h8300, clean-h8300, all-h8500, install-h8500,
	  clean-h8500, all-sh, install-sh, clean-sh): do not echo
	  recursion lines.

Wed Jun 30 14:12:05 1993  david d `zoo' zuhn  (zoo at poseidon.cygnus.com)

	* Makefile.in: remove endian.h trace from h8500

Sun Jun 13 13:08:58 1993  Jim Kingdon  (kingdon@cygnus.com)

	* Makefile.in: Add distclean, realclean, and mostlyclean targets.

Fri May 21 11:21:16 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* Makefile.in: make all of the all-* target (except all-nothing)
	depend on endian.h, so that if we're not building a simulator, we
	don't built endian

Fri May 21 10:55:06 1993  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in (check, installcheck): Added dummy targets.

Mon May  3 21:39:43 1993  Fred Fish  (fnf@cygnus.com)

	* Makefile.in (endian): Find endian.c in $(srcdir), and also
	explicitly make it, since some makes apparently don't work with
	VPATH and .c to executable rules (SunOS make for example).

Mon May  3 08:29:01 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* Makefile.in (endian): Add explicit rule for broken makes.

Mon Mar 15 15:47:53 1993  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in (info, install-info): New targets.
	(DO_INSTALL): Renamed from INSTALL, which is overridden by the top
	level Makefile.

Wed Feb 10 20:12:27 1993  K. Richard Pixley  (rich@ok.cygnus.com)

	* Makefile.in (endian.h): build endian.h via a temporary file so
	  that we don't leave an incomplete file lying around on
	  interrupted builds.
	  (clean): remove endian, e.h, and endian.h.

Mon Feb  8 11:46:06 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* Makefile.in, configure.in: if target isn't supported, build a
	harmless makefile.


