0.9.15	27 August 2002

This is a minor bugfix release.

See Changelog.full for the complete list of who did what. 
Release highlights:
    o   Eliminated the HAS_LONG_LONG option.  gcc always supports 
	long long, and the option never excluded all long long anyways.
    o   ctype.h no longer allows multiple argument evaluation in 
	compliance with ANSI/ISO C99
    o   Obscure printf fixes -- one involving %o and one involving %f.
    o   Bugfixes for locking and reentrance in password/group functions 
    o   Directly use kernel types for most items, eliminating needless
	translation and fixing several bugs.
    o   Directly use kernel struct stat -- no more translating
    o   More superH (sh) architecture merging from Stefan Allius 
    o   Errno values and strerror are now correct on alpha, sparc, and mips
    o   Fixed an obscure bug with fclose when custom streams are enabled.
    o   Lots of other little bug fixes and cleanups

 -Erik



0.9.14	12 August 2002

This is a minor bugfix release.

See Changelog.full for the complete list of who did what. 
Release highlights:
    o   Fix a compile error when RPC and Pthread support
	were both enabled.
    o   Eliminate duplicate define warnings in wstring.c.
    o   Fix potentially broken preprocessor comparisons.
    o   Erik was an idiot and broke thread locking in exit(),
	atexit() and friends.  Fix that.
    o   Fix the gcc wrapper to use crtbeginS.o and crtendS.o when 
	compiling PIC code (crtbegin.o and crtend.o) otherwise.

 -Erik




0.9.13	9 August 2002

Security Fixes
    o   There was an off-by-one buffer overflow in the group 
	handling code, fix thanks to Joseph Chiu. 
    o   There was an integer overflow bug in calloc, per
	    http://online.securityfocus.com/bid/5398
    o   There was an integer overflow bug in the xdr_array 
	RPC code, per http://online.securityfocus.com/bid/5356

See Changelog.full for the complete list of who did what. 
Release highlights:
    o   Add full shared library support for Hitachi SuperH (sh)
	thanks to Stefan Allius and Edie C. Dost 
    o   Lots of reentrance cleanups (we should now be fully
	reentrant when compiled with pthread support).
    o   Miles Bader implemented a new mmap based malloc which is much
	smarter than the old "malloc-simple", and actually works, unlike
	the old "malloc".  This is now the default for mmu-less systems
	and should greatly help reduce memory fragmentation and wastage.
    o   Reworked syscall handling for i386 and ARM, smaller and cleaner.
    o   Support for the syscall() function on i386 and ARM
    o   The uClibc g++ wrapper now  automagically adds the proper include
	search path and and libraries.
    o   Lots of shared library loader updates
    o   dlopen'd shred libraries not properly run destructors
	when ctor/dtor support is enabled
    o   pread/pwrite/pread64/pwrite64 now all work as expected
    o   Lots and lots of other bug fixes and cleanups.

 -Erik




0.9.12	20 June 2002

See Changelog.full for the complete list of who did what. 
Release highlights:
    o   Add full shared library support for mips (big and little
	endian), thanks to a lot of hard work from Steven J. Hill
    o   i960 architecture support, thanks to Martin Proulx
    o   An initial alpha port (works, but needs some cleanup)
    o   Fixes shared library support for powerpc
    o   Fixes for mmu-less systems
    o   Much improved thread locking and reentrance.
    o   More gcc wrapper updates.  XFree86 really does link 
	this time around.  It still didn't last time.
    o   Libcrypt now passes conformance tests
    o   Nearly complete locale supporti thanks to a lot
	of hard work by Manuel Novoa III.  This stuff is
	_way_ smaller than glibc's
    o   Completely new time handling functions also by Manuel
    o   Lots of other bug fixes and cleanups.

 -Erik




Erik Andersen:
0.9.11	10 April 2002

Release highlights:
    o   Lots of bug fixes
    o   Much better large file support
    o   Several gcc wrapper bug fixes, so things like iproute2 and
	XFree86 should now link properly.
    o   Fixes a stdio thread locking bug that could cause random 
	deadlocks on s*printf calls when threading was enabled.

Erik Andersen:
    o   Added a generic implementation of truncate64.c and ftruncate64.c
    o   Added missing creat64, glob64, mkstemp64, getrlimit64, setrlimit64
    o   Removed internal erroneous use of __USE_FILE_OFFSET64
    o   Made libpthread compile on sparc and powerpc
    o   Made libpthread soname and symlinks match the other libraries.
    o   Added finite() to the C89 math lib, since some math functions use it.
    o   Added missing function pointer to error.c (some apps wanted it)
    o   Fixed initfini build for arches where gcc tries to be sneaky
    o   Fixed m68k/bits/setjmp.h which I has broken in the last release.
    o   Fixed a buffer overflow in the dynamic library loader
    o   Fixed a stdio thread locking bug that could cause random 
	deadlocks on s*printf calls when threading was enabled.
    o   Implemented sqrtf(), needed for libstdc++ on arm
Miles Bader:
    o   Make clean fixes to not blindly wipe all symlinks
    o   Re-enabled clnt_perror()
    o   Re-implemented swab()
Dwayne Fontenot:
    o   Many updates to the uClibc Working Application List 
Steven J. Hill:
    o   Many updates to the mips dynamic loader.  Not yet working but
	getting very close now.
    o   Fixed locking bug in getttyent()
    o   Support libpthread on mips
Richard June:
    o   Fixed several bugs in utmp code (pututline was only writing the 
	first sizeof-a-pointer bytes to the utmpfile).
    o   setutent() was only opening utmp readonly.
m4@brecis.COM:
    o   Fixed a silly typing problem with the getuid syscall.
Manuel Novoa III:
    o   Fixed stdio FILE read/write auto-transition bugs.
    o   Better stdio errno handling
    o   Changed setvbuf() to more closely match glibc's behavior
    o   Fixed getpass() to not echo passwords to the console
    o   Fixed locale ISblank flag.
    o   Fixed an arg promotion handling bug in _do_one_spec for %c reported
	by Ilguiz Latypov.
Kensuke Otake:
    o   Implemented swab()
Yoshinori Sato:
    o   Fixed h8300 architecture support for pthreads and changes to
	the include files
David Schleef:
    o   Made powerpc assembly code PIC-compatible
    o   Removed powerpc R_PPC_REL24 handling, since it was deceptively useless.
John Traill:
    o   Several types on powerpc, such as dev_t, are different than on other 
	architectures.  John spotted this, which fixed a _ton_ of problems since
	anything calling stat() was previously broken.
Jim Treadway:
    o   Eliminated use of alarm() from the DNS resolver by converting
	it to use select instead (much cleaner).








0.9.10	21 March 2002

Major new features:
    o   pthreads support (derived from glibc 2.1.3's linuxthreads library)
	    by Stefan Soucek and Erik Andersen
    o   pthreads support for MMU-less systems, by Stefan Soucek
    o   Complete rewrite of all stdio functions for standards compliance,
	    small size, pthreads support, wide/narrow stream support, large
	    file support, unbuffered support, etc, etc by Manuel Novoa III
    o   gcc wrapper reworked by Erik Andersen.  Now operated correctly in
	all known cases, and now wraps g++ as well for C++ support.
    o   constructor/destructor support, for C++ by Erik Andersen.
    o   Eliminated duplicate include/bits header files, by Erik Andersen.
	    Now all common include/bits headers are grouped together.
	

Erik Andersen:
    o   Lots of changes and improvements to the shared library loader
    o   Cleaned up a piles of bugs
    o   Fixed a segfault when scandir was called on empty directories.
    o   Several syscalls added: pread/pwrite
    o   Makefile/build system cleanups
    o   Sighandling fixes
    o   pthreads support (with Stefan Soucek)
    o   Added ldexp to the C89 math library, per POSIX
    o   fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
    o   Support isblank()
    o   Reworked libcrypt to avoid leaking private symbols into the namespace
    o   Added strtof(), strtold(), updwtmp(), strptime()
    o   Fix ldso build for older arm cross compilers
Miles Bader:
    o   atexit cleanups
    o   fixed gcc wrapper handling of -M* options
    o   Fixed truncate64/ftruncate64 to restrict them to 64-bit systems, 
	since we can't be sure that the _syscall macros can cope with 64 
	bit args on 32 bit arches.
    o   Large File support on the v850
    o   Fixed v850 headers after Erik messed them up
    o   Eliminate include/features.h namespace pollution
M. R. Brown:
    o   Fixed pthread support for SH, and fixed SH vfork as well
    o   Fixed SH headers after Erik messed them up
Geoffrey Espin:
    o   Mips architecture cleanups.  Now works perfectly
	    with busybox, vi, ash, etc...
    o   Merged in the random number support (rand, srand, etc) from glibc.
Thomas Fritzsche:
    o   Fixes DNS resolver bug from 0.9.9
Steven J. Hill:
    o   Fixed build to support both mips and mipsel
    o   Beginnings of a mips ldso port
Andrew Ip:
    o   Support for gnu error() functions
David McCullough:
    o   Coldfire platform updates: clone, setjmp
    o   Fixed simple malloc to work on systems with an MMU
Manuel Novoa III:
    o   Rewrote all stdio functions for standards compliance, small size, 
	pthreads support, wide/narrow stream support, large file support, 
	unbuffered support, etc, etc, etc.
    o   Rewrote the various string to int functions to be smaller, more
	    standards compilant, and reduce dependance on libgcc.a.
Yoshinori Sato:
    o   ptrace for the Hitachi h8300 fix
David Schleef:
    o   Debian packaging updates
    o   Check for proper 16-byte aliged stack pointer on powerpc
Stefan Soucek:
    o   pthreads support for MMU-less systems
    o   pthreads support (with Erik Andersen)
Brian Stafford:
    o   Rewrote strcasecmp() per SUSv2. 
Bart Visscher:
    o   Added missing IPV6 support and reentrant networking function 
	    additions so iptables now runs with IPV6 support.






0.9.9	February  4, 2002

Erik Andersen:
    o   A bunch of doc updates.  Major update to the working
	apps list.
    o   Added a configurator script (extra/Configs/uClibc_config_fix.pl)
	which can simplify configuring uClibc.
    o   Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
	Hitting ^C in ash kills client apps now, not ash. 
    o   Reworked signal handling code so it now passes POSIX 
	conformance tests.
    o   Fixed sleep and usleep to work correctly when
	interrupted by signals.
    o   Made getopt behave the same when staticly linking
	as when dynamicly linking.  It was using different
	implementations depending on how apps were linked.
    o   Added missing inttypes.h header file
    o   Eliminate all C++ style comments from header files
    o   Support statvfs and statfs
    o   Support getmntent_r
    o   Scandir and scandir64 were calling malloc without
	checking for ENOMEM
    o   Fixed stpcpy function declaration
    o   Many large file support improvements.
    o   Fixed fcntl to work when DOLFS is enabled
    o   Fixed termios code to do the Right Thing(tm)
    o   Allow regex to be excluded at compile time
    o   Implemented mempcpy
    o   Build ldd and readelf for the target system and for the 
	host system
    o   Fix several cases where get-needed-libgcc-objects.sh
	could fail, breaking the shared uClibc library.
    o   Include all shared library loader objects into a
	single C file, thereby reducing its size further.
    o   Reworked the shared library linking process to be more 
	flexible so that gcc and ld can more easily be built to
	target uClibc library.
    o   Better error checking in the Makefiles.  Be more pedantic
	about tar, chmod, etc to avoid system dependent failures.
    o   We can now autodetect the target architecture
    o   Hide references to wchar_t so GNU autoconf
	configure scripts won't get confused and try to 
	enable wide char support. 
    o   Fixed stdio.h so apps can use varargs.h if they want to.
    o   Added brk/sbrk support for ARM, powerpc, mips, and sparc
	and set them to default to the much faster brk using malloc
    o   Added missing syscalls: get_kernel_syms, fcntl64,
	fdatasync, sched_setparam, sched_getparam,
	sched_setscheduler, sched_getscheduler,
	sched_get_priority_max, sched_get_priority_min,
	sched_rr_get_interval, sigaltstack, sendfile, 
	pivot_root, sigsuspend, setfsuid, and setfsgid
    o   Force DOPIC be true when HAVE_SHARED is true.
    o   Fixed hstrerror()
    o   Implemented gethostent(), sethostent(), and endhostent()
    o   Added arch specific support so that sparc and mips actually 
	compile and work
Miles Bader:
    o   Fixes for the v850 architecture: crt0, setjmp, 
	arch autodetection, etc.
    o   Fixed `make install' to not build ldso stuff on
	non-shared-library systems.
Michael E Brown:
    o   Allow the gcc wrapper to support setting DEVEL_PREFIX
	and BUILD_DIR at runtime (no more need to recompile).
M. R. Brown and Erik Andersen:
    o   Fixed the SH port so it now works.  Tested and shown
	working on an SH4 Dreamcast system.
Kim Heino:
    o   Made 'make clean' remove generated bits/syscall.h
David McCullough:
    o   SH architecture updates.  Added brk, sbrk,
    o   Fixed simple malloc to work on systems with an MMU
    o   Taught getutent to return NULL if utmp doesn't exist. 
    o   Added insque/remque support
    o   Fixed DNS resolver version number so apps won't get
	confused and use the wrong API.
    o   Added Config selectable shadow password support
Yoshinori Sato
    o   Contributed support for the Hitach H8/300H architecture 
Cédric Schieli:
    o   Add support for inet_netof, inet_lnaof, inet_makeaddr 
	and hstrerror.             
David Schleef:
    o   Added libstrip, a nifty script to automagically
	strip unneeded content from the uClibc shared 
	libraries.
Martin Sieper
    o   Added getw() and putw()
    o   Added missing header files -- lastlog.h, sgtty.h, 
	netipx/ipx.h, sys/perm.h
Stefan Soucek:
    o   Add rcmd support, i.e. rsh, rlogin, etc.
    o   Fix rcmd to avoid alloca, which is dangerous
	on mmu-less systems
spudmonkey@racsa.co.cr:
    o   Eliminate a buffer overflow in the shared library loader
Brian Stafford:
    o   Enable support for Unix98 PTYs, and add option
	to disable old style PTYs.


