0.9.16 8 November 2002 See Changelog.full for the complete list of who did what. Release highlights: o CRIS architecture and shared library support from Tobias Anderberg o New uClibc configuration system o shared library global constructors and destructors initialization ordering fixed by Stefan Allius o More SuperH architecture fixes from Stefan Allius o uClibc now compiles with newer versions of gcc (i.e. RedHat 8.0) o uClibc no longer requires perl to compile o mips dlopen was fixed by Steven J. Hill o pty and tty handling fixes o Manuel Novoa added support for a new /etc/TZ file for globally setting the system timezone. o Manuel also fixed up a number of remaining wide char issues. o Lots of other little bug fixes and cleanups -Erik 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.