2006-10-07  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in: Adjust Coldfire rules.
	(BDM_CRT0, BDM_BSP, BDM_OBJS, BDM_ISRS): Rename	to ...
	(CF_CRT0, CF_BSP, CF_OBJS, CF_ISRS): ... here.  Adjust.
	(BDM_OTHER_OBJS): Remove.
	(BDM_SYSOBJS): Rename to ...
	(UNHOSTED_OBJS): ... here.  Adjust.
	(UNHOSTED_BSP, HOSTED_OBJS, HOSTED_BSP): New.
	(CF_HOSTED_SCRIPTS): New.
	(CF_SCRIPTS, CF_SOURCES): Adjust.
	* m68k/cf.sc: Add IO library variable.
	* m68k/bdm-crt0.S, m68k/bdm-crt1.c, m68k/bdm-isrs.c,
	m68k/bdm-sbrk.c, m68k/bdm-semihost.S: Rename to ...
	* m68k/cf-crt0.S, m68k/cf-crt1.c, m68k/cf-isrs.c, m68k/cf-sbrk.c,
	m68k/cf-hosted.S: ... here.
	* m68k/cf-exit.c: New.
	* m68k/bdm-gdb.h, m68k/bdm-semihost.h: Merge into ...
	* m68k/io.h: ... here.  Add unhosted support.  Adjust conversion
	function names.
	* m68k/bdm-gdb.c: Rename to ...
	* m68k/io-gdb.c: ... here.  Adjust names of conversion functions.
	* m68k/bdm-close.c, m68k/bdm-exit.c, m68k/bdm-fstat.c,
	m68k/bdm-gettimeofday.c, m68k/bdm-isatty.c, m68k/bdm-lseek.c,
	m68k/bdm-open.c, m68k/bdm-read.c, m68k/bdm-rename.c,
	m68k/bdm-stat.c, m68k/bdm-system.c, m68k/bdm-time.c,
	m68k/bdm-unlink.c, m68k/bdm-write.c: Rename to ...
	* m68k/io-close.c, m68k/io-exit.c, m68k/io-fstat.c,
	m68k/io-gettimeofday.c, m68k/io-isatty.c, m68k/io-lseek.c,
	m68k/io-open.c, m68k/io-read.c, m68k/io-rename.c, m68k/io-stat.c,
	m68k/io-system.c, m68k/io-time.c, m68k/io-unlink.c,
	m68k/io-write.c: ... here.  Include io.h. Adjust for hosted &
	unhosted libraries.  Adjust names of gdb conversion functions.

2006-10-01  Paul Brook  <paul@codesourcery.com>

	* libgloss/
	arm/arm.sc: Add all .ARM.extab* sections.

2006-09-29  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/bdm-semihost.S: Add more comments.  Make instruction weirder.

2006-09-17  Paul Brook  <paul@codesourcery.com>

	newlib/
	Backport form mainline
	2006-09-26  Jeff Johnston  <jjohnstn@redhat.com>
	* libc/include/stdio.h: Do not allow macros
	for clearerr, feof, or fileno.
	* libc/include/sys/reent.h[_REENT_SMALL](struct _reent): Change 
	the dummy std stream scheme to use pointers to const external 
	fake files, one for each standard stream.
	* libc/stdio/local.h (CHECK_INIT): Change to take a file pointer
	argument.  For _REENT_SMALL, reset the file pointer if it
	matches one of the fake std stream pointers.
	* libc/stdio/clearerr.c: Fix CHECK_INIT macro to add file pointer
	argument.
	* libc/stdio/fclose.c: Ditto.
	* libc/stdio/feof.c: Ditto.
	* libc/stdio/ferror.c: Ditto.
	* libc/stdio/fflush.c: Ditto.
	* libc/stdio/fgetc.c: Ditto.
	* libc/stdio/fgets.c: Ditto.
	* libc/stdio/fileno.c: Ditto.
	* libc/stdio/findfp.c: Ditto.
	* libc/stdio/fputc.c: Ditto.
	* libc/stdio/fputs.c: Ditto.
	* libc/stdio/fread.c: Ditto.
	* libc/stdio/freopen.c: Ditto.
	* libc/stdio/fseek.c: Ditto.
	* libc/stdio/ftell.c: Ditto.
	* libc/stdio/fwrite.c: Ditto.
	* libc/stdio/getc.c: Ditto.
	* libc/stdio/getdelim.c: Ditto.
	* libc/stdio/putc.c: Ditto.
	* libc/stdio/refill.c: Ditto.
	* libc/stdio/setvbuf.c: Ditto.
	* libc/stdio/ungetc.c: Ditto.
	* libc/stdio/vfprintf.c: Ditto.
	* libc/stdio/vfscanf.c: Ditto.
	* libc/stdio/wbuf.c: Ditto.: Ditto.
	* libc/stdio/wsetup.c: Ditto.
	* libc/stdio64/freopen64.c: Ditto.
	* libc/stdio64/fseeko64.c: Ditto.
	* libc/stdio64/ftello64.c: Ditto.
	* libc/machine/powerpc/vfprintf.c: Ditto.
	* libc/machine/powerpc/vfscanf.c: Ditto.

2006-09-22  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/bdm-crt1.c (hardware_init_hook): Use #defines for CACR bits.

2006-09-21  Paul Brook  <paul@codesourcery.com>

	newlib/
	* libc/include/sys/reent.h (_reent): Adjust _REENT_SMALL to be binary
	compatible with normal layout

2006-09-20  Paul Brook  <paul@codesourcery.com>

	newlib/
	* libc/include/sys/reent.h: Define and use __reent_assert.

2006-09-20  Paul Brook  <paul@codesourcery.com>

	libgloss/
	* arm/arm.sc: Add .gnu.linkonce and .ARM.extab sections.

2006-09-20  Paul Brook  <paul@codesourcery.com>

	libgloss/
	* configure.in: Add check for .init_array.
	* configure: Regenerate.

2006-09-20  Paul Brook  <paul@codesourcery.com>

	newlib/
	* libc/stdlib/rand.c (srand): Add _REENT_CHECK_RAND48.

2006-09-18  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in: Don't force a frame pointer on the ISRs.
	* m68k/bdm-crt1.c (__start1): Don't set the VBR here.
	(hardeare_init_hook): Define weakly.  Set VBR here, enable caching
	if supported.

	libgloss/
	* m68k/Makefile.in (bdm-semihost.o): Build from bdm-semihost.S.
	* m68k/bdm-semihost.c: Remove.
	* m68k/bdm-semihost.S: New.
	* m68k/bdm-crt0.S: Don't install semihosting trap handler.
	* m68k/bdm-close.c, bdm-exit.c, bdm-fstat.c, bdm-gettimeofday.c,
	bdm-isatty.c, bdm-lseek.c, bdm-open.c, bdm-read.c, bdm-rename.c,
	bdm-stat.c, bdm-system.c, bdm-unlink.c, bdm-write.c): Update.
	* m68k/bdm-isrs.c: Update comment.
	* m68k/bdm-semihost.h (BDM_TRAPNUM, BDM_FUNC_REG, BDM_ARG_REG,
	BDM_TRAP): Remove.
	(__bdm_semihost): Declare.

2006-09-15  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in (BDM_OTHER_OBJS): Remove sbrk.o.
	(BDM_SYSOBJS): Add bdm-sbrk.o.
	* m68k/bdm-sbrk.c: New.

2006-09-11  Paul Brook  <paul@codesourcery.com>

	libgloss/
	* arm/arm.sc: Add .jcr.

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

	libgloss/
	* arm/Makefile.in (armv7m, lm3s10x, lm3s301, lm3s31x): Swap
	RAM and ROM.
	(rdimon, rdpmon): Skip 8k.

2006-09-06  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in (CF_SOURCES): New.
	(install): Install them.

2006-09-01  Paul Brook  <paul@codesourcery.com>

	libgloss/
	* arm/Makefile.in: Reduce rdi/rdp ram size to avoid overflow.

2006-09-01  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/cf.sc: Add .jcr section to .text.

2006-09-01  Paul Brook  <paul@codesourcery.com>

	libgloss/
	* arm/Makefile.in: Include _exit.c in BSPs.  Add rdimon-ram.ld.
	Build linker scripts instead of spec files for rdimon and rdpmon.
	Pass CRT0 ad BSP to arm.sc.
	* arm/_exit.c: New file.
	* arm/arm.sc: Add STARTUP, GROUP and SEARCH_DIR.  Remove defaults
	for ROM and RAM.
	* arm/crt0.S: Give Thumb-2 symbols function type.
	Skip generic Arm init code for Thumb-2.
	Add _nmi_isr and _fault_isr.
	* arm/libcfunc.c (do_AngelSWI): Remove.
	* arm/swi.h (do_AngelSWI): New function.
	* arm/syscalls.c (do_AngelSWI): Remove.
	(_exit): Remove.
	(isatty): New function.

2006-08-31  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/bdm-crt1.c: Call hardware_init_hook before copying
	initialized data.

	libgloss/
	* m68k/Makefile.in (CF_BDM_SCRIPTS): Rename to CF_RAM_SCRIPTS.
	(CF_SCRIPTS): Update.
	(%-bdm.ld): Rename to %-ram.ld.

2006-08-30  Paul Brook  <paul@codesourcery.com>

	libgloss/
	* arm/Makefile.in: Change armv7m linker script generation.  Add
	armv7m.spec.  Build armv7m-crt0.o.
	* arm/arm.sc: New file.
	* arm/armv7m.specs: New file.
	* arm/crt0.S: Add armv7m code.
	* arm/elf-lm3s10x.ld: Remove.
	* arm/elf-lm3s301.ld: Remove.
	* arm/elf-lm3s31x.ld: Remove.
	* arm/swi.h (do_AngelSWI): Add definition.
	* arm/syscalls.c: Merge lazy semihosting initialization from newlib.

	newlib/
	* libc/sys/arm/crt0.S: Add armv7m rom startup code.

2006-08-29  Paul Brook  <paul@codesourcery.com>

	newlib/
	* libc/sys/arm/_fault_isr.c (_fault_isr): Compile unconditionally.
	* libc/sys/arm/_nmi_isr.c (_nmi_isr): Ditto.

2006-08-29  Paul Brook  <paul@codesourcery.com>

	newlib/
	* acconfig.h (_ATEXIT_DYNAMIC_ALLOC): Remove.
	* configure.in: Remove --disable-newlib-atexit-dynamic-alloc.
	* libc/stdlib/__atexit.c (__register_exitproc): Use weak reference to
	malloc.  Only allocate dynamically if it is present.
	* libc/stdlib/__call_atexit.c (__call_exitprocs): Use weak reference
	to free.
	* configure: Regenerate.
	* newlib.hin: Regenerate.

2006-08-29  Paul Brook  <paul@codesourcery.com>

	newlib/
	* libc/include/sys/config.h: Define _REENT_SMALL for Thumb-2.

2006-08-25  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in (DBUG_BSP, DBUG_OBJS): Remove.
	(BDM_CRT0): New.
	(BDM_OBJS): Add bdm-crt1.o.
	(BDM_OTHER_OBJS): Remove print.o putnum.o
	(CF_BOARDS): New.
	(CF_BDM_SCRIPTS): Generated name of ram scripts.
	(CF_ROM_SCRIPTS): Generated name of rom scripts.
	(CF_SCRIPTS): Adjust.
	(all): Add BDM_CRT0.
	(bdm-crt0.o, bdm-crt1.o): New targets.
	(bdm-isv.o): Remove.
	(m5208evb, m5213evb, m52235evb, m5235evb, m5273c3, m5282evb,
	m5329evb, m5485evb): New.
	(%-bdm.ld, %-rom.ld): New. Replace individual linker script rules.
	(install): Remove DBUG installs.
	* m68k/bdm-crt0.S: New.
	* m68k/bdm-crt1.c: New.
	* m68k/bdm-exit.c: Call __reset.
	* m68k/bdm-isv.c: Remove.
	* m68k/cf.sc: Adjust to produce either rom or ram images.
	* m68k/dbug-exit.S, m68k/dbug-inbyte.S, m68k/dbug-outbyte.S: Remove.

2006-08-22  Paul Brook  <paul@codesourcery.com>

	newlib/
	* libc/sys/arm/syscalls.c (initialise_monitor_handles): Fix
	multithreaded locking.

2006-07-24  Nathan Sidwell  <nathan@codesourcery.com>

	Bug 844
	libgloss/
	* m68k/cf.sc: Set entry point to _start.
	* m68k/crt0.X (_start): New name for entrypoint
	(start): Weak alias for start.

2006-06-23  Mark Mitchell  <mark@codesourcery.com>

	Issue #754
	libgloss/
	* arm/elf-lm3s301.ld: Include cm3.ld.
	* arm/elf-lm3s31x.ld: Likewise.

2006-06-13  Mark Mitchell  <mark@codesourcery.com>

	Issue #733
	libgloss/
	* arm/Makefile.in (LMS_SCRIPTS): Add lm3s301.ld and lm3s31x.ld. 

2006-06-09  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/bdm-system.c (_system): Support system(NULL).

2006-06-09  Sandra Loosemore <sandra@codesourcery.com>

	newlib/
	* libc/sys/arm/syscalls.c (_unlink, isatty, _system, _rename):
	Make them do something useful in the ARM_RDI_MONITOR case.

	libgloss/
	* arm/syscalls.c (_unlink, isatty, _system, _rename): Make
	them do something useful in the ARM_RDI_MONITOR case.

2006-06-08  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/bdm-system.c (_system): Properly encode non failure exit
	code.

2006-06-05  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in (BDM_SYSOBJS): Remove bdm-inbyte.o.
	Add bdm-time.o.
	* m68k/bdm-close.c: Add copyright notice.
	* m68k/bdm-fstat.c: Add copyright notice.
	* m68k/bdm-gettimeofday.c: Add copyright notice.
	* m68k/bdm-inbyte.c: Remove.
	* m68k/bdm-isatty.c: Add copyright notice.
	* m68k/bdm-lseek.c: Add copyright notice. Fix &/| thinko.
	* m68k/bdm-open.c: Add copyright notice.
	* m68k/bdm-read.c: Add copyright notice.
	* m68k/bdm-rename.c: Add copyright notice.
	* m68k/bdm-stat.c: Add copyright notice.
	* m68k/bdm-system.c: Add copyright notice.
	* m68k/bdm-time.c: New.
	* m68k/bdm-unlink.c: Add copyright notice.
	* m68k/bdm-write.c: Add copyright notice.

2006-05-31  Mark Mitchell  <mark@codesourcery.com>

	libgloss/
	* arm/elf-lm3s301.ld: New script.
	* arm/elf-lm3s31x.ld: Likewise.

	* arm/Makefile.in (LMS_SCRIPTS): New variable.
	(LMS_INSTALL): Likewise.
	(install): Depend on LMS_INSTALL.
	(install-lms): New target.
	* arm/elf-cm3.lmd: New file.
	* arm/elf-lm3s10x.ld: Likewise.

	Issue #667
	newlib/
	* libc/sys/arm/syscalls.c (findslot): Call
	initialise_monitor_handles.
	(remap_handle): Do not call initialise_monitor_handles.

2006-05-25  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in (m52235-dbug.ld, m52235-bdm.ld): New
	scripts.

2006-05-24  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/Makefile.in (BDM_SYSOBJS): Remove bdm-outbyte.o.
	* m68k/bdm-outbyte.c: Delete.
	* m68k/bdm-semihost.h (BDM_OUTBYTE): Mark as obsolete.

2006-05-22  Sandra Loosemore <sandra@codesourcery.com>

	libgloss/
	* m68k/bdm-semihost.h: Add new constants for additional
	semihosting functions.  Add new BDM_TRAP macro to encapsulate
	inline asm.
	* m68k/bdm-exit.c (_exit): Use new BDM_TRAP macro.
	* m68k/bdm-outbyte.c (outbyte): Ditto.
	* m68k/bdm-isrs.c, m68k/bdm-isv.c: Former BDM_TRAP
	now called BDM_TRAPNUM.
	* m68k/bdm-gdb.h, m68k/bdm-gdb.c: New files
	containing declarations and conversion functions for GDB's fileio
	protocol.
	* m68k/bdm-close.c: New file to define corresponding function.
	* m68k/bdm-fstat.c: Ditto.
	* m68k/bdm-gettimeofday.c: Ditto.
	* m68k/bdm-isatty.c: Ditto.
	* m68k/bdm-lseek.c: Ditto.
	* m68k/bdm-open.c: Ditto.
	* m68k/bdm-read.c: Ditto.
	* m68k/bdm-rename.c: Ditto.
	* m68k/bdm-stat.c: Ditto.
	* m68k/bdm-system.c: Ditto.
	* m68k/bdm-unlink.c: Ditto.
	* m68k/bdm-write.c Ditto.
	* m68k/Makefile.in: Add dependencies for new files.

	newlib/
	* configure.host: Tell it we have _rename and _system when
	building m68k-unknown-elf.

2006-05-04  Paul Brook  <paul@codesourcery.com>

	newlib/
	* libc/sys/arm/Makefile.am (lib_a_SOURCES): Add aeabi_memclr.c,
	aeabi_memcpy.c, aeabi_memmove.c and aeabi_memset.c.
	* libc/sys/arm/Makefile.in: Regenerate.
	* libc/sys/arm/aeabi.h: New file.
	* libc/sys/arm/aeabi_memclr.c: New file.
	* libc/sys/arm/aeabi_memcpy.c: New file.
	* libc/sys/arm/aeabi_memmove.c: New file.
	* libc/sys/arm/aeabi_memset.c: New file.

2006-03-29  Nathan Sidwell  <nathan@codesourcery.com>

	libgloss/
	* m68k/bdm-isv.c (software_init_hook): Fix trap numbering.

	* m68k/Makefile.in (CF_SCRIPTS): Add m5329 board.
	Reorder.
	(*-dbug.ld, *-bdm.ld): Add appropriate IO definition.
	(m5329evb-dbug.ld, m5329evb-bdm.ld): New.
	* cf.sc (GROUP): Revert previous change.  Add IO library.

	* m68k/Makefile.in (BDM_BSP, BDM_OBJS, BDM_ISRS): New.
	(CF_SCRIPTS): Rename dbug scripts.  Add bdm scripts. Add m5485
	scripts.
	(all): Add new targets.
	(BDM_BSP): New target.
	(bdm-isv.o, bdm-exit.o, bdm-outbyte.o, bdm-semihost.o): New
	targets.
	(BDM_ISRS): New targets.
	(m5208evb.ld, m5213evb.ld, m5235evb.ld, m5272c3.ld, m5282evb.ld):
	Rename and adjust.
	(m5485evb-dbug): New.
	(m5208evb-bdm.ld, m5213evb-bdm.ld, m5235evb-bdm.ld,
	m5272c3-bdm.ld, m5282evb-bdm.ld, m5485evb-bdm.ld): New.
	(install): Add BDM_BSP.
	* m68k/bdm-exit.c: New
	* m68k/bdm-inbyte.c: New
	* m68k/bdm-outbyte.c: New
	* m68k/bdm-semihost.c: New
	* m68k/bdm-semihost.h: New
	* m68k/bdm-isrs.c: New.
	* m68k/bdm-isv.c: New.
	* dbug-cf.sc: Renamed to ...
	* cf.sc: ... here.  Add bdm flexibility. Remove GROUP

2006-03-23  Mark Mitchell  <mark@codesourcery.com>

	newlib/
	* libc/sys/arm/Makefile.am (extra_objs): Add _exit.o _nmi_isr.o
	_fault_isr.o.
	* libc/sys/arm/Makefile.in: Regenerated.
	* libc/sys/arm/_exit.c: New file. 
	* libc/sys/arm/_fault_isr.c: Likewise.
	* libc/sys/arm/_nmi_isr.c: Likewise.
	* libc/sys/arm/configure.in (--enable-newlib-arm-v7m): New option.
	* libc/sys/arm/configure: 
	* libc/sys/arm/crt0.S (_start): Do not use semihosting calls in
	_start when configured for ARM V7M.  Do not call
	initialise_monitor_handles.  Indent preprocessor directives.
	(.isr_vector): New section, on ARM V7M.
	* libc/sys/arm/swi.h (do_AngelSWI): New function.
	* syscalls.c (_exit): Remove.
	(do_AngelSWI): Likewise.
	(CHECK_INIT): Remove.
	(remap_handle): Call initialise_monitor_handles.
	(__arm_monitor_handles_lock): New variable.
	(initialise_monitor_handles): Make sure to run only once.

