__stdio_WRITE: make code more readable. No code changes
[uclibc-ng.git] / Changelog
blob3774fcf3ced6d8ffed4ea5ded679d73234c0fd00
1 0.9.31  not yet released
3     Upgrade notices from previous versions.
4     o On x86_64 the format of /var/run/utmp changed compared to previous
5       versions. To retain compatibility with glibc we now define
6       __WORDSIZE_COMPAT32. If you are certain that you will never use
7       glibc nor run in i386 mode on your x86_64 installation, you can
8       remove this definition from wordsize.h.
9       Otherwise you have to delete /var/run/utmp on x86_64 hosts when
10       upgrading to 0.9.31
11     o The SHARED_LIB_LOADER_PREFIX was renamed to a single path
12       component called MULTILIB_DIR and defaults to 'lib'.
14 0.9.27  12 January 2005
16     This has been a long time in the making...  Release highlights:
17         o New stdio implementation
18         o New optimized string functions
19         o Major improvements to the shared lib loader
20         o Shared libraries work properly on powerpc
21         o Debugging works on mips
22         o New architectures: frv, nios, nios2, bfin
23         o Linux 2.6.x kernel support
24         o Lots and lots of bug fixes
26     This release is NOT binary compatible with uClibc 0.9.26 or any earlier
27     release, so be prepared to recompile your software if you are still using
28     an old version of uClibc.
30  -Erik
34 0.9.26  3 January 2004
36     This simply adds a fix for a pthread bug that was noticed a few hours
37     after the previous release.  Otherwise identical to 0.9.25.
39     This release remains binary compatible with uClibc 0.9.21-25 as long as
40     you take care to avoid any configuraton changes that will break things.
41     We _were_ planning to break binary compatibilty in this release, but
42     decided to hold those changes so we could push out a bugfix release.
44     We _will_ break binary compatibilty in the upcoming 0.9.27 release to
45     implement a few things we have been postponing.  That should hopefully be
46     the last ABI change before we freeze the ABI for the upcoming 1.0.x
47     stable uClibc series.
49 Release highlights:
50     o A trivial fix for a pthread bug
51     o Nothing else
53  -Erik
57 0.9.25  3 January 2004
59 See Changelog.full for the complete list of who did what.
61 Note:
62     This release remains binary compatible with uClibc 0.9.21-24 as long as
63     you take care to avoid any configuraton changes that will break things.
64     We _were_ planning to break binary compatibilty in this release, but
65     decided to hold those changes so we could push out a bugfix release.
67     We _will_ break binary compatibilty in the upcoming 0.9.26 release to
68     implement a few things we have been postponing.  That should hopefully be
69     the last ABI change before we freeze the ABI for the upcoming 1.0.x
70     stable uClibc series.
72 Release highlights:
73     o Fixed a ton of problems found using the LTP and NIST test suites.
74         The few remaining test failures are obscure corner cases, such as
75         a few functions that fail (correctly) with incorrect errno values.
76     o Fixed a longstanding pthreads bug -- amoung other things, you no
77         longer need to explicitly add -lpthread for perl to work.
78     o Added some sh optimized string functions
79     o Added sh64 shared library support
80     o The default malloc implementation has been replaced, and will
81         now actually free memory when told to do so.
82     o Both popen() and exec*() now behave themselves per SuSv3
83     o Better 2.6.x kernel header support
84     o Added support for Position Independent Executables (PIE) on x86
85     o Lots of other minor cleanups
87  -Erik
91 0.9.24  15 December 2003
93 See Changelog.full for the complete list of who did what.
95 Note:
96     This release remains binary compatible with uClibc 0.9.21-23 as
97     long as you take care to avoid any configuraton changes that will
98     break things.
100     We currently plan to break binary compatibilty in the upcoming 0.9.25 to
101     implement a few things we have been postponing, which will hopefully be
102     the last change....
104 Release highlights:
105     o Fixed several silly configuration problems
106     o Added arm optimized string functions
107     o Lots of minor cleanups
109  -Erik
115 0.9.23  13 November 2003
117 See Changelog.full for the complete list of who did what.
119 Note:
120     This release is binary compatible with uClibc 0.9.21 and 0.9.22 as
121     long as you take care to avoid any configuraton changes that will
122     break things.  Enabling or disabling things like soft-float,
123     locale, wide wchar support, or changing cpu type are all good
124     examples of things that will break binary compatibility.
126 Release highlights:
127     o Fixed several silly configuration problems that were
128         present in the 0.9.22 release.
129     o Fixed compilation problem with soft-float support on
130         several architectures.
131     o Lots of cleanup work on the powepc shared lib loader
132         thanks to Joakim Tjernlund.
133     o Updated the debian packaging for use in a standalone uClibc
134         system, rather than being a subordinate library under a
135         glibc based system.
137  -Erik
143 0.9.22  8 November 2003
145 See Changelog.full for the complete list of who did what.
147 Note:
148     This release is binary compatible with the 0.9.21 release
149     if you take care to avoid any configuraton changes that
150     might break things for you (i.e. enabling or disabling things
151     like soft-float, locale, wide wchar support, or changing cpu
152     type are all good examples of binary incompatible config options).
154 Release highlights:
155     o Added e1, microblaze, and sh64 architectures.
156     o Much improved soft-float support
157     o Rewrote the passwd and group handing functions
158         and implemented all SuSv3 required reentrant
159         versions.
160     o Reworked and updated the Config system.  You now
161         get to select your target architecture with the
162         config system.
163     o Fixed pthreads for mmuless m68k systems
164     o Added some x86 optimized string functions.
165     o Lots and lots of bugs fixed.
167  -Erik
173 0.9.21  9 September 2003
175 See Changelog.full for the complete list of who did what.
177 Note:
178     This release is not binary compatible with earlier releases.
179     Sorry about that.  We have never promised to provide binary
180     compatibility until we hit version 1.0, and even then, if
181     you change your configuration.
183 Release highlights:
184     o uClibc now has full ANSI/ISO C99 locale support (except
185         for wcsftime() and collating items in regex).
186     o Added support for using pre-generated locale data, making
187         it easy for mere mortals to use uClibc w/locale support.
188     o Lots of new tuning options added to trade size 
189         for features, allowing for smaller static binaries.
190     o The "dlopen()'ing libraries that depend on libraries"
191         problem was fixed.
192     o A new scanf implementation.  Well tested, but
193         brand new so watch for obscure bugs...
194     o Reworked and updated the Config system, adding several
195         nice new features which we now use.
196     o Lots and lots of sundry bug fixes and cleanups.
198  -Erik
204 0.9.20  30 June 2003
206 See Changelog.full for the complete list of who did what.
208 Note:
209     This release remains binary compatible with 0.9.18 and 0.9.19.
212 Release highlights:
213     o Some ldd, profiling, and gcc wrapper updates 
214     o Updated to support and compile with gcc 3.3
215     o Several needed mips updates
216     o Building under cygwin should now work...
217     o Prevent non-PIC code getting into PIC libs
218     o Added mmap64 support
219     o mmu-less systems now get a 16k default thread stack size
220         which is much more sane than the old 2 MB default...
221     o Implemented syscall() for powerpc
222     o Optionally struct tm extension support
223     o Lots of other sundry little fixes and cleanups.
224     o Prevent buffer overflows in the passwd and group functions.
226  -Erik
232 0.9.19  3 March 2003
234 See Changelog.full for the complete list of who did what.
236 Note:
237     This release remains binary compatible with 0.9.18 (except
238     for mips, but then mips was unusable in stock 0.9.18 anyways).
241 Release highlights:
242     Stefan Allius
243         o Some Makefile and warning fixes
244     David Airlie
245         o Fixed gcc wrapper handling of ctor/dtor stuff when used in 
246             with and w/o the nostdinc and nostdlib options
247     Erik Andersen
248         o Fixed a number of system call kernel type/user type translation
249             problems that scrambled a handful of system calls.
250         o Fixup powerpc syscalls to eliminate warnings with gcc-3.2
251         o Fixed several ioctl special cases for powerpc
252         o Checked in forgotten mips kernel_types.h changes
253         o Fixed mips shared library loader bug that caused segfaults
254         o Major update to the pthreads library.  Should improve performance.
255         o Fixed uClibc's shared library loader so we can properly debug 
256             applications using pthreads (must use gdb 5.3 or newer which
257             was compiled using uClibc).
258         o Made uClibc's ldd act just the glibc provided one (i.e. relying
259             on the shared lib loader to do the work) when it is possible to 
260             doi so, and only rummage about the ELF headers when we have no
261             other choice (such as when using 'ldd' on cross compiled stuff).
262     Miles Bader
263         o header file updates for v850 architecture
264         o Fixed v850 crt0.S __uClibc_main argument stack space
265     Jeffrey Damick
266         o Fixed res_init() so it properly reloads /etc/resolv.conf
267     Vadim Lebedev
268         o Fixed ARM setjmp when floating point was disabled
269     David McCullough
270         o Removed debug (-g) when building crti.o and crtn.o, as
271             debug would mess up the build for SH4 and probably others.
272         o Fixed SH setjmp when floating point was enabled
275  -Erik
281 0.9.18  12 February 2003
283 See Changelog.full for the complete list of who did what.
285 Note:
287     Once again, this release is _NOT_ binary compatible with earlier 
288     releases.  I _think this will be the last time (with the possible
289     exception of some future changes to our locale support...)
292 Release highlights:
293     Stefan Allius
294         o fixed a compile problem when large file support was disabled 
295         o fixed dlib_pic.o to compile with proper flags
296         o fixed a shared lib loader compile warning
297         o Made adding libgcc functions to uClibc optional
298     Erik Andersen
299         o Fixed scandir64 to not free the wrong pieces of memory 
300             which caused segfaults
301         o Fixed mismatches between kernel and libc dirent structures 
302         o Fixed mismatches between the size of uClibc's struct dirent 
303             and struct dirent64 so that when _FILE_OFFSET_BITS=64 we
304             do not lose part of the filename
305         o Fixed getdents64.c so the build will not break when compiling
306             vs a 2.0.x Linux kernel when UCLIBC_HAS_LFS is enabled
307         o Create stub crti.o and crtn.o files when UCLIBC_CTOR_DTOR is disabled
308         o Fixed licenses for a few files that erroneously were listed as GPL
309             but were really LGPL after discussing with authors
310         o sigaction for x86 had an extra and unwanted sigaction syscall
311         o Fixed debugging of arm binaries by adding a .note.ABI-tag section
312     Miles Bader
313         o header file updates for v850 architecture
314         o Fixed v850 clone syscall
315     Christian Krause
316         o Fixed pthread_cond_timedwait to properly uses rt singals
317             when available
318     Christophe Massiot
319         o Added mips _flush_cache syscall
320     David McCullough
321         o Added m68k brk syscall
322     Marshall M. Midden
323         o Fixed pipe implementation for mips
326  -Erik
332 0.9.17  25 January 2003
334 See Changelog.full for the complete list of who did what.
336 Note:
338     I have always reserved the right to make binary incompatible changes as
339     needed prior to the "1.0" release.  This release is a good example of
340     that.  A few bugs turned up that needed to be fixed and the only good way
341     to fix them was to change some fundamental data structure sizes.  So I did
342     just that.  As a result, this release is _NOT_ binary compatible with
343     earlier releases -- you will need to recompile your applications.
346 Release highlights:
347     Stefan Allius
348         o fixed a number of shared library loader bugs
349         o setjmp, longjmp, clone, and vfork cleanups for the SH architecture
350         o Don't build the config system with ncurses unless asked to
351     Tobias Anderberg
352         o cris architecture updates
353     Erik Andersen
354         o Changed 'struct stat' and 'struct stat64' so they use types that
355             are consistant with use elsewhere in the library.  Without this,
356             subtle bugs would occur due to comparing signed and unsigned
357             types (for example, GNU tar wouldn't work)
358         o Fixed dlopen so it works with staticly linked apps
359         o Fixed sigaction on arm architecture so sa_restorer works properly
360         o Fixed sigaction on x86 architecture for (fixed debugging threads)
361         o Fixed a wide char related segfault in the regular expression code
362         o Powerpc pread and pwrite are now implemented correctly
363         o Powerpc syscall mechanism re-implemented
364         o Sparc architecture and syscall mechanism fixed up so things compile
365         o usershell reimplemented
366         o Fixed global destructors for staticly linked applications
367         o Added dynamic atexit support (needed for full C++ ctor/dtor support)
368         o The ldd utility now acts more like the GNU utility
369         o Added a stub libnsl library to make stupid configure scripts bahave
370         o Always build crt1.o as well as crt0.o to minimize the need to mess
371             with the compiler
372         o Rewrote powerpc crt0.S to properly handle ctors/dtors
373         o Removed unimplemented and legacy stuff from our header files to
374             make configure behave better
375         o Made the lib loader also support libs in /usr/X11R6/lib by default
376         o Config system updates
377         o networking function updates
378         o Large file support updates
379         o Lots of other little bug fixes and cleanups
380     Nick Fedchik
381         o Support ether_aton
382     Nathan Field
383         o Fixed pthread_mutex_lock and pthread_mutex_unlock so they
384             actually work as advertised on mips
385         o Fixed several nasty pthread bugs fixing debugging
386     Brett Hunt
387         o Fixed potential segfaults during 'make menuconfig'
388     Jay Kulpinski
389         o Fixed a subtle problem in the DNS resolver that prevented
390             uncompressed DNS lookup responses from working
391     David McCullough
392         o Fixed pclose error handling
393     David Meggy
394         o fixed the problem where arm binaries would crash on start
395           that Erik stupidly caused right before the last release.
396     Manuel Novoa III
397         o Major locale support update!
398         o Allow people to use pregenerated locale data instead of generating
399             approx 40Mb of glibc locales to get the 300+ locales currently
400             supported.
401         o locale dependent collation support
402         o Fixed locale support tools to work when cross-compiling
403         o Added the *wprintf functions
404         o Added the wcsto{inttype} functions
405         o Added iconv() and a mini iconv utility
406         o Added hsearch and hsearch_r
407         o Fixed a silly bug allowing wprintf %s to work correctly.
408         o Fixed fdopen when used with "a" (append).
409         o Fixed stdio file position handing to be sure fell() always
410             gives correct results
411     Luc Van Oostenryck
412         o Fixed a buffer overflow in getlogin_r
413     Yoshinori Sato
414         o Hitachi h8300 architecture update
415     Ronald Wahl
416         o Powerpc shared library relocation fixes
418  -Erik
422 0.9.16  8 November 2002
424 See Changelog.full for the complete list of who did what.
426 Release highlights:
427     o   CRIS architecture and shared library support from Tobias Anderberg 
428     o   New uClibc configuration system
429     o   shared library global constructors and destructors initialization
430         ordering fixed by Stefan Allius
431     o   More SuperH architecture fixes from Stefan Allius 
432     o   uClibc now compiles with newer versions of gcc (i.e. RedHat 8.0)
433     o   uClibc no longer requires perl to compile
434     o   mips dlopen was fixed by Steven J. Hill
435     o   pty and tty handling fixes
436     o   Manuel Novoa added support for a new /etc/TZ file for globally
437         setting the system timezone.
438     o   Manuel also fixed up a number of remaining wide char issues. 
439     o   Lots of other little bug fixes and cleanups
441  -Erik
445 0.9.15  27 August 2002
447 This is a minor bugfix release.
449 See Changelog.full for the complete list of who did what.
450 Release highlights:
451     o   Eliminated the HAS_LONG_LONG option.  gcc always supports 
452         long long, and the option never excluded all long long anyways.
453     o   ctype.h no longer allows multiple argument evaluation in 
454         compliance with ANSI/ISO C99
455     o   Obscure printf fixes -- one involving %o and one involving %f.
456     o   Bugfixes for locking and reentrance in password/group functions 
457     o   Directly use kernel types for most items, eliminating needless
458         translation and fixing several bugs.
459     o   Directly use kernel struct stat -- no more translating
460     o   More superH (sh) architecture merging from Stefan Allius 
461     o   Errno values and strerror are now correct on alpha, sparc, and mips
462     o   Fixed an obscure bug with fclose when custom streams are enabled.
463     o   Lots of other little bug fixes and cleanups
465  -Erik
469 0.9.14  12 August 2002
471 This is a minor bugfix release.
473 See Changelog.full for the complete list of who did what.
474 Release highlights:
475     o   Fix a compile error when RPC and Pthread support
476         were both enabled.
477     o   Eliminate duplicate define warnings in wstring.c.
478     o   Fix potentially broken preprocessor comparisons.
479     o   Erik was an idiot and broke thread locking in exit(),
480         atexit() and friends.  Fix that.
481     o   Fix the gcc wrapper to use crtbeginS.o and crtendS.o when 
482         compiling PIC code (crtbegin.o and crtend.o) otherwise.
484  -Erik
489 0.9.13  9 August 2002
491 Security Fixes
492     o   There was an off-by-one buffer overflow in the group 
493         handling code, fix thanks to Joseph Chiu. 
494     o   There was an integer overflow bug in calloc, per
495             http://online.securityfocus.com/bid/5398
496     o   There was an integer overflow bug in the xdr_array 
497         RPC code, per http://online.securityfocus.com/bid/5356
499 See Changelog.full for the complete list of who did what.
500 Release highlights:
501     o   Add full shared library support for Hitachi SuperH (sh)
502         thanks to Stefan Allius and Edie C. Dost 
503     o   Lots of reentrance cleanups (we should now be fully
504         reentrant when compiled with pthread support).
505     o   Miles Bader implemented a new mmap based malloc which is much
506         smarter than the old "malloc-simple", and actually works, unlike
507         the old "malloc".  This is now the default for mmu-less systems
508         and should greatly help reduce memory fragmentation and wastage.
509     o   Reworked syscall handling for i386 and ARM, smaller and cleaner.
510     o   Support for the syscall() function on i386 and ARM
511     o   The uClibc g++ wrapper now  automagically adds the proper include
512         search path and and libraries.
513     o   Lots of shared library loader updates
514     o   dlopen'd shred libraries not properly run destructors
515         when ctor/dtor support is enabled
516     o   pread/pwrite/pread64/pwrite64 now all work as expected
517     o   Lots and lots of other bug fixes and cleanups.
519  -Erik
524 0.9.12  20 June 2002
526 See Changelog.full for the complete list of who did what.
527 Release highlights:
528     o   Add full shared library support for mips (big and little
529         endian), thanks to a lot of hard work from Steven J. Hill
530     o   i960 architecture support, thanks to Martin Proulx
531     o   An initial alpha port (works, but needs some cleanup)
532     o   Fixes shared library support for powerpc
533     o   Fixes for mmu-less systems
534     o   Much improved thread locking and reentrance.
535     o   More gcc wrapper updates.  XFree86 really does link 
536         this time around.  It still didn't last time.
537     o   Libcrypt now passes conformance tests
538     o   Nearly complete locale supporti thanks to a lot
539         of hard work by Manuel Novoa III.  This stuff is
540         _way_ smaller than glibc's
541     o   Completely new time handling functions also by Manuel
542     o   Lots of other bug fixes and cleanups.
544  -Erik
549 Erik Andersen:
550 0.9.11  10 April 2002
552 Release highlights:
553     o   Lots of bug fixes
554     o   Much better large file support
555     o   Several gcc wrapper bug fixes, so things like iproute2 and
556         XFree86 should now link properly.
557     o   Fixes a stdio thread locking bug that could cause random 
558         deadlocks on s*printf calls when threading was enabled.
560 Erik Andersen:
561     o   Added a generic implementation of truncate64.c and ftruncate64.c
562     o   Added missing creat64, glob64, mkstemp64, getrlimit64, setrlimit64
563     o   Removed internal erroneous use of __USE_FILE_OFFSET64
564     o   Made libpthread compile on sparc and powerpc
565     o   Made libpthread soname and symlinks match the other libraries.
566     o   Added finite() to the C89 math lib, since some math functions use it.
567     o   Added missing function pointer to error.c (some apps wanted it)
568     o   Fixed initfini build for arches where gcc tries to be sneaky
569     o   Fixed m68k/bits/setjmp.h which I has broken in the last release.
570     o   Fixed a buffer overflow in the dynamic library loader
571     o   Fixed a stdio thread locking bug that could cause random 
572         deadlocks on s*printf calls when threading was enabled.
573     o   Implemented sqrtf(), needed for libstdc++ on arm
574 Miles Bader:
575     o   Make clean fixes to not blindly wipe all symlinks
576     o   Re-enabled clnt_perror()
577     o   Re-implemented swab()
578 Dwayne Fontenot:
579     o   Many updates to the uClibc Working Application List 
580 Steven J. Hill:
581     o   Many updates to the mips dynamic loader.  Not yet working but
582         getting very close now.
583     o   Fixed locking bug in getttyent()
584     o   Support libpthread on mips
585 Richard June:
586     o   Fixed several bugs in utmp code (pututline was only writing the 
587         first sizeof-a-pointer bytes to the utmpfile).
588     o   setutent() was only opening utmp readonly.
589 m4@brecis.COM:
590     o   Fixed a silly typing problem with the getuid syscall.
591 Manuel Novoa III:
592     o   Fixed stdio FILE read/write auto-transition bugs.
593     o   Better stdio errno handling
594     o   Changed setvbuf() to more closely match glibc's behavior
595     o   Fixed getpass() to not echo passwords to the console
596     o   Fixed locale ISblank flag.
597     o   Fixed an arg promotion handling bug in _do_one_spec for %c reported
598         by Ilguiz Latypov.
599 Kensuke Otake:
600     o   Implemented swab()
601 Yoshinori Sato:
602     o   Fixed h8300 architecture support for pthreads and changes to
603         the include files
604 David Schleef:
605     o   Made powerpc assembly code PIC-compatible
606     o   Removed powerpc R_PPC_REL24 handling, since it was deceptively useless.
607 John Traill:
608     o   Several types on powerpc, such as dev_t, are different than on other 
609         architectures.  John spotted this, which fixed a _ton_ of problems since
610         anything calling stat() was previously broken.
611 Jim Treadway:
612     o   Eliminated use of alarm() from the DNS resolver by converting
613         it to use select instead (much cleaner).
622 0.9.10  21 March 2002
624 Major new features:
625     o   pthreads support (derived from glibc 2.1.3's linuxthreads library)
626             by Stefan Soucek and Erik Andersen
627     o   pthreads support for MMU-less systems, by Stefan Soucek
628     o   Complete rewrite of all stdio functions for standards compliance,
629             small size, pthreads support, wide/narrow stream support, large
630             file support, unbuffered support, etc, etc by Manuel Novoa III
631     o   gcc wrapper reworked by Erik Andersen.  Now operated correctly in
632         all known cases, and now wraps g++ as well for C++ support.
633     o   constructor/destructor support, for C++ by Erik Andersen.
634     o   Eliminated duplicate include/bits header files, by Erik Andersen.
635             Now all common include/bits headers are grouped together.
636         
638 Erik Andersen:
639     o   Lots of changes and improvements to the shared library loader
640     o   Cleaned up a piles of bugs
641     o   Fixed a segfault when scandir was called on empty directories.
642     o   Several syscalls added: pread/pwrite
643     o   Makefile/build system cleanups
644     o   Sighandling fixes
645     o   pthreads support (with Stefan Soucek)
646     o   Added ldexp to the C89 math library, per POSIX
647     o   fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
648     o   Support isblank()
649     o   Reworked libcrypt to avoid leaking private symbols into the namespace
650     o   Added strtof(), strtold(), updwtmp(), strptime()
651     o   Fix ldso build for older arm cross compilers
652 Miles Bader:
653     o   atexit cleanups
654     o   fixed gcc wrapper handling of -M* options
655     o   Fixed truncate64/ftruncate64 to restrict them to 64-bit systems, 
656         since we can't be sure that the _syscall macros can cope with 64 
657         bit args on 32 bit arches.
658     o   Large File support on the v850
659     o   Fixed v850 headers after Erik messed them up
660     o   Eliminate include/features.h namespace pollution
661 M. R. Brown:
662     o   Fixed pthread support for SH, and fixed SH vfork as well
663     o   Fixed SH headers after Erik messed them up
664 Geoffrey Espin:
665     o   Mips architecture cleanups.  Now works perfectly
666             with busybox, vi, ash, etc...
667     o   Merged in the random number support (rand, srand, etc) from glibc.
668 Thomas Fritzsche:
669     o   Fixes DNS resolver bug from 0.9.9
670 Steven J. Hill:
671     o   Fixed build to support both mips and mipsel
672     o   Beginnings of a mips ldso port
673 Andrew Ip:
674     o   Support for gnu error() functions
675 David McCullough:
676     o   Coldfire platform updates: clone, setjmp
677     o   Fixed simple malloc to work on systems with an MMU
678 Manuel Novoa III:
679     o   Rewrote all stdio functions for standards compliance, small size, 
680         pthreads support, wide/narrow stream support, large file support, 
681         unbuffered support, etc, etc, etc.
682     o   Rewrote the various string to int functions to be smaller, more
683             standards compilant, and reduce dependance on libgcc.a.
684 Yoshinori Sato:
685     o   ptrace for the Hitachi h8300 fix
686 David Schleef:
687     o   Debian packaging updates
688     o   Check for proper 16-byte aliged stack pointer on powerpc
689 Stefan Soucek:
690     o   pthreads support for MMU-less systems
691     o   pthreads support (with Erik Andersen)
692 Brian Stafford:
693     o   Rewrote strcasecmp() per SUSv2. 
694 Bart Visscher:
695     o   Added missing IPV6 support and reentrant networking function 
696             additions so iptables now runs with IPV6 support.
703 0.9.9   February  4, 2002
705 Erik Andersen:
706     o   A bunch of doc updates.  Major update to the working
707         apps list.
708     o   Added a configurator script (extra/Configs/uClibc_config_fix.pl)
709         which can simplify configuring uClibc.
710     o   Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
711         Hitting ^C in ash kills client apps now, not ash. 
712     o   Reworked signal handling code so it now passes POSIX 
713         conformance tests.
714     o   Fixed sleep and usleep to work correctly when
715         interrupted by signals.
716     o   Made getopt behave the same when staticly linking
717         as when dynamicly linking.  It was using different
718         implementations depending on how apps were linked.
719     o   Added missing inttypes.h header file
720     o   Eliminate all C++ style comments from header files
721     o   Support statvfs and statfs
722     o   Support getmntent_r
723     o   Scandir and scandir64 were calling malloc without
724         checking for ENOMEM
725     o   Fixed stpcpy function declaration
726     o   Many large file support improvements.
727     o   Fixed fcntl to work when DOLFS is enabled
728     o   Fixed termios code to do the Right Thing(tm)
729     o   Allow regex to be excluded at compile time
730     o   Implemented mempcpy
731     o   Build ldd and readelf for the target system and for the 
732         host system
733     o   Fix several cases where get-needed-libgcc-objects.sh
734         could fail, breaking the shared uClibc library.
735     o   Include all shared library loader objects into a
736         single C file, thereby reducing its size further.
737     o   Reworked the shared library linking process to be more 
738         flexible so that gcc and ld can more easily be built to
739         target uClibc library.
740     o   Better error checking in the Makefiles.  Be more pedantic
741         about tar, chmod, etc to avoid system dependent failures.
742     o   We can now autodetect the target architecture
743     o   Hide references to wchar_t so GNU autoconf
744         configure scripts won't get confused and try to 
745         enable wide char support. 
746     o   Fixed stdio.h so apps can use varargs.h if they want to.
747     o   Added brk/sbrk support for ARM, powerpc, mips, and sparc
748         and set them to default to the much faster brk using malloc
749     o   Added missing syscalls: get_kernel_syms, fcntl64,
750         fdatasync, sched_setparam, sched_getparam,
751         sched_setscheduler, sched_getscheduler,
752         sched_get_priority_max, sched_get_priority_min,
753         sched_rr_get_interval, sigaltstack, sendfile, 
754         pivot_root, sigsuspend, setfsuid, and setfsgid
755     o   Force DOPIC be true when HAVE_SHARED is true.
756     o   Fixed hstrerror()
757     o   Implemented gethostent(), sethostent(), and endhostent()
758     o   Added arch specific support so that sparc and mips actually 
759         compile and work
760 Miles Bader:
761     o   Fixes for the v850 architecture: crt0, setjmp, 
762         arch autodetection, etc.
763     o   Fixed `make install' to not build ldso stuff on
764         non-shared-library systems.
765 Michael E Brown:
766     o   Allow the gcc wrapper to support setting DEVEL_PREFIX
767         and BUILD_DIR at runtime (no more need to recompile).
768 M. R. Brown and Erik Andersen:
769     o   Fixed the SH port so it now works.  Tested and shown
770         working on an SH4 Dreamcast system.
771 Kim Heino:
772     o   Made 'make clean' remove generated bits/syscall.h
773 David McCullough:
774     o   SH architecture updates.  Added brk, sbrk,
775     o   Fixed simple malloc to work on systems with an MMU
776     o   Taught getutent to return NULL if utmp doesn't exist. 
777     o   Added insque/remque support
778     o   Fixed DNS resolver version number so apps won't get
779         confused and use the wrong API.
780     o   Added Config selectable shadow password support
781 Yoshinori Sato
782     o   Contributed support for the Hitach H8/300H architecture 
783 Cédric Schieli:
784     o   Add support for inet_netof, inet_lnaof, inet_makeaddr 
785         and hstrerror.             
786 David Schleef:
787     o   Added libstrip, a nifty script to automagically
788         strip unneeded content from the uClibc shared 
789         libraries.
790 Martin Sieper
791     o   Added getw() and putw()
792     o   Added missing header files -- lastlog.h, sgtty.h, 
793         netipx/ipx.h, sys/perm.h
794 Stefan Soucek:
795     o   Add rcmd support, i.e. rsh, rlogin, etc.
796     o   Fix rcmd to avoid alloca, which is dangerous
797         on mmu-less systems
798 spudmonkey@racsa.co.cr:
799     o   Eliminate a buffer overflow in the shared library loader
800 Brian Stafford:
801     o   Enable support for Unix98 PTYs, and add option
802         to disable old style PTYs.