summaryrefslogtreecommitdiff
path: root/Changelog
blob: 52fd3eda2c22036d3dc1f0a96fd7407bba0a0b6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
0.9.27	12 January 2005

    This has been a long time in the making...  Release highlights:
	o New stdio implementation
	o New optimized string functions
	o Major improvements to the shared lib loader
	o Shared libraries work properly on powerpc
	o Debugging works on mips
	o New architectures: frv, nios, nios2, bfin
	o Linux 2.6.x kernel support
	o Lots and lots of bug fixes

    This release is NOT binary compatible with uClibc 0.9.26 or any earlier
    release, so be prepared to recompile your software if you are still using
    an old version of uClibc.

 -Erik



0.9.26	3 January 2004

    This simply adds a fix for a pthread bug that was noticed a few hours
    after the previous release.  Otherwise identical to 0.9.25.

    This release remains binary compatible with uClibc 0.9.21-25 as long as
    you take care to avoid any configuraton changes that will break things.
    We _were_ planning to break binary compatibilty in this release, but
    decided to hold those changes so we could push out a bugfix release.

    We _will_ break binary compatibilty in the upcoming 0.9.27 release to
    implement a few things we have been postponing.  That should hopefully be
    the last ABI change before we freeze the ABI for the upcoming 1.0.x
    stable uClibc series.

Release highlights:
    o A trivial fix for a pthread bug
    o Nothing else

 -Erik



0.9.25	3 January 2004

See Changelog.full for the complete list of who did what.

Note:
    This release remains binary compatible with uClibc 0.9.21-24 as long as
    you take care to avoid any configuraton changes that will break things.
    We _were_ planning to break binary compatibilty in this release, but
    decided to hold those changes so we could push out a bugfix release.

    We _will_ break binary compatibilty in the upcoming 0.9.26 release to
    implement a few things we have been postponing.  That should hopefully be
    the last ABI change before we freeze the ABI for the upcoming 1.0.x
    stable uClibc series.

Release highlights:
    o Fixed a ton of problems found using the LTP and NIST test suites.
	The few remaining test failures are obscure corner cases, such as
	a few functions that fail (correctly) with incorrect errno values.
    o Fixed a longstanding pthreads bug -- amoung other things, you no
	longer need to explicitly add -lpthread for perl to work.
    o Added some sh optimized string functions
    o Added sh64 shared library support
    o The default malloc implementation has been replaced, and will
	now actually free memory when told to do so.
    o Both popen() and exec*() now behave themselves per SuSv3
    o Better 2.6.x kernel header support
    o Added support for Position Independent Executables (PIE) on x86
    o Lots of other minor cleanups

 -Erik



0.9.24	15 December 2003

See Changelog.full for the complete list of who did what.

Note:
    This release remains binary compatible with uClibc 0.9.21-23 as
    long as you take care to avoid any configuraton changes that will
    break things.

    We currently plan to break binary compatibilty in the upcoming 0.9.25 to
    implement a few things we have been postponing, which will hopefully be
    the last change....

Release highlights:
    o Fixed several silly configuration problems
    o Added arm optimized string functions
    o Lots of minor cleanups

 -Erik





0.9.23	13 November 2003

See Changelog.full for the complete list of who did what.

Note:
    This release is binary compatible with uClibc 0.9.21 and 0.9.22 as
    long as you take care to avoid any configuraton changes that will
    break things.  Enabling or disabling things like soft-float,
    locale, wide wchar support, or changing cpu type are all good
    examples of things that will break binary compatibility.

Release highlights:
    o Fixed several silly configuration problems that were
	present in the 0.9.22 release.
    o Fixed compilation problem with soft-float support on
	several architectures.
    o Lots of cleanup work on the powepc shared lib loader
	thanks to Joakim Tjernlund.
    o Updated the debian packaging for use in a standalone uClibc
	system, rather than being a subordinate library under a
	glibc based system.

 -Erik





0.9.22	8 November 2003

See Changelog.full for the complete list of who did what.

Note:
    This release is binary compatible with the 0.9.21 release
    if you take care to avoid any configuraton changes that
    might break things for you (i.e. enabling or disabling things
    like soft-float, locale, wide wchar support, or changing cpu
    type are all good examples of binary incompatible config options).

Release highlights:
    o Added e1, microblaze, and sh64 architectures.
    o Much improved soft-float support
    o Rewrote the passwd and group handing functions
	and implemented all SuSv3 required reentrant
	versions.
    o Reworked and updated the Config system.  You now
	get to select your target architecture with the
	config system.
    o Fixed pthreads for mmuless m68k systems
    o Added some x86 optimized string functions.
    o Lots and lots of bugs fixed.

 -Erik





0.9.21	9 September 2003

See Changelog.full for the complete list of who did what.

Note:
    This release is not binary compatible with earlier releases.
    Sorry about that.  We have never promised to provide binary
    compatibility until we hit version 1.0, and even then, if
    you change your configuration.

Release highlights:
    o uClibc now has full ANSI/ISO C99 locale support (except
	for wcsftime() and collating items in regex).
    o Added support for using pre-generated locale data, making
	it easy for mere mortals to use uClibc w/locale support.
    o Lots of new tuning options added to trade size 
	for features, allowing for smaller static binaries.
    o The "dlopen()'ing libraries that depend on libraries"
	problem was fixed.
    o A new scanf implementation.  Well tested, but
	brand new so watch for obscure bugs...
    o Reworked and updated the Config system, adding several
	nice new features which we now use.
    o Lots and lots of sundry bug fixes and cleanups.

 -Erik





0.9.20	30 June 2003

See Changelog.full for the complete list of who did what.

Note:
    This release remains binary compatible with 0.9.18 and 0.9.19.


Release highlights:
    o Some ldd, profiling, and gcc wrapper updates 
    o Updated to support and compile with gcc 3.3
    o Several needed mips updates
    o Building under cygwin should now work...
    o Prevent non-PIC code getting into PIC libs
    o Added mmap64 support
    o mmu-less systems now get a 16k default thread stack size
	which is much more sane than the old 2 MB default...
    o Implemented syscall() for powerpc
    o Optionally struct tm extension support
    o Lots of other sundry little fixes and cleanups.
    o Prevent buffer overflows in the passwd and group functions.

 -Erik





0.9.19	3 March 2003

See Changelog.full for the complete list of who did what.

Note:
    This release remains binary compatible with 0.9.18 (except
    for mips, but then mips was unusable in stock 0.9.18 anyways).


Release highlights:
    Stefan Allius
	o Some Makefile and warning fixes
    David Airlie
	o Fixed gcc wrapper handling of ctor/dtor stuff when used in 
	    with and w/o the nostdinc and nostdlib options
    Erik Andersen
	o Fixed a number of system call kernel type/user type translation
	    problems that scrambled a handful of system calls.
	o Fixup powerpc syscalls to eliminate warnings with gcc-3.2
	o Fixed several ioctl special cases for powerpc
	o Checked in forgotten mips kernel_types.h changes
	o Fixed mips shared library loader bug that caused segfaults
	o Major update to the pthreads library.  Should improve performance.
	o Fixed uClibc's shared library loader so we can properly debug 
	    applications using pthreads (must use gdb 5.3 or newer which
	    was compiled using uClibc).
	o Made uClibc's ldd act just the glibc provided one (i.e. relying
	    on the shared lib loader to do the work) when it is possible to 
	    doi so, and only rummage about the ELF headers when we have no
	    other choice (such as when using 'ldd' on cross compiled stuff).
    Miles Bader
	o header file updates for v850 architecture
	o Fixed v850 crt0.S __uClibc_main argument stack space
    Jeffrey Damick
	o Fixed res_init() so it properly reloads /etc/resolv.conf
    Vadim Lebedev
	o Fixed ARM setjmp when floating point was disabled
    David McCullough
	o Removed debug (-g) when building crti.o and crtn.o, as
	    debug would mess up the build for SH4 and probably others.
	o Fixed SH setjmp when floating point was enabled


 -Erik





0.9.18	12 February 2003

See Changelog.full for the complete list of who did what.

Note:

    Once again, this release is _NOT_ binary compatible with earlier 
    releases.  I _think this will be the last time (with the possible
    exception of some future changes to our locale support...)


Release highlights:
    Stefan Allius
	o fixed a compile problem when large file support was disabled 
	o fixed dlib_pic.o to compile with proper flags
	o fixed a shared lib loader compile warning
	o Made adding libgcc functions to uClibc optional
    Erik Andersen
	o Fixed scandir64 to not free the wrong pieces of memory 
	    which caused segfaults
	o Fixed mismatches between kernel and libc dirent structures 
	o Fixed mismatches between the size of uClibc's struct dirent 
	    and struct dirent64 so that when _FILE_OFFSET_BITS=64 we
	    do not lose part of the filename
	o Fixed getdents64.c so the build will not break when compiling
	    vs a 2.0.x Linux kernel when UCLIBC_HAS_LFS is enabled
	o Create stub crti.o and crtn.o files when UCLIBC_CTOR_DTOR is disabled
	o Fixed licenses for a few files that erroneously were listed as GPL
	    but were really LGPL after discussing with authors
	o sigaction for x86 had an extra and unwanted sigaction syscall
	o Fixed debugging of arm binaries by adding a .note.ABI-tag section
    Miles Bader
	o header file updates for v850 architecture
	o Fixed v850 clone syscall
    Christian Krause
	o Fixed pthread_cond_timedwait to properly uses rt singals
	    when available
    Christophe Massiot
	o Added mips _flush_cache syscall
    David McCullough
	o Added m68k brk syscall
    Marshall M. Midden
	o Fixed pipe implementation for mips


 -Erik





0.9.17	25 January 2003

See Changelog.full for the complete list of who did what.

Note:

    I have always reserved the right to make binary incompatible changes as
    needed prior to the "1.0" release.  This release is a good example of
    that.  A few bugs turned up that needed to be fixed and the only good way
    to fix them was to change some fundamental data structure sizes.  So I did
    just that.  As a result, this release is _NOT_ binary compatible with
    earlier releases -- you will need to recompile your applications.


Release highlights:
    Stefan Allius
	o fixed a number of shared library loader bugs
	o setjmp, longjmp, clone, and vfork cleanups for the SH architecture
	o Don't build the config system with ncurses unless asked to
    Tobias Anderberg
	o cris architecture updates
    Erik Andersen
	o Changed 'struct stat' and 'struct stat64' so they use types that
	    are consistant with use elsewhere in the library.  Without this,
	    subtle bugs would occur due to comparing signed and unsigned
	    types (for example, GNU tar wouldn't work)
	o Fixed dlopen so it works with staticly linked apps
	o Fixed sigaction on arm architecture so sa_restorer works properly
	o Fixed sigaction on x86 architecture for (fixed debugging threads)
	o Fixed a wide char related segfault in the regular expression code
	o Powerpc pread and pwrite are now implemented correctly
	o Powerpc syscall mechanism re-implemented
	o Sparc architecture and syscall mechanism fixed up so things compile
	o usershell reimplemented
	o Fixed global destructors for staticly linked applications
	o Added dynamic atexit support (needed for full C++ ctor/dtor support)
	o The ldd utility now acts more like the GNU utility
	o Added a stub libnsl library to make stupid configure scripts bahave
	o Always build crt1.o as well as crt0.o to minimize the need to mess
	    with the compiler
	o Rewrote powerpc crt0.S to properly handle ctors/dtors
	o Removed unimplemented and legacy stuff from our header files to
	    make configure behave better
	o Made the lib loader also support libs in /usr/X11R6/lib by default
	o Config system updates
	o networking function updates
	o Large file support updates
	o Lots of other little bug fixes and cleanups
    Nick Fedchik
	o Support ether_aton
    Nathan Field
	o Fixed pthread_mutex_lock and pthread_mutex_unlock so they
	    actually work as advertised on mips
	o Fixed several nasty pthread bugs fixing debugging
    Brett Hunt
	o Fixed potential segfaults during 'make menuconfig'
    Jay Kulpinski
	o Fixed a subtle problem in the DNS resolver that prevented
	    uncompressed DNS lookup responses from working
    David McCullough
	o Fixed pclose error handling
    David Meggy
	o fixed the problem where arm binaries would crash on start
	  that Erik stupidly caused right before the last release.
    Manuel Novoa III
	o Major locale support update!
	o Allow people to use pregenerated locale data instead of generating
	    approx 40Mb of glibc locales to get the 300+ locales currently
	    supported.
	o locale dependent collation support
	o Fixed locale support tools to work when cross-compiling
	o Added the *wprintf functions
	o Added the wcsto{inttype} functions
	o Added iconv() and a mini iconv utility
	o Added hsearch and hsearch_r
	o Fixed a silly bug allowing wprintf %s to work correctly.
	o Fixed fdopen when used with "a" (append).
	o Fixed stdio file position handing to be sure fell() always
	    gives correct results
    Luc Van Oostenryck
	o Fixed a buffer overflow in getlogin_r
    Yoshinori Sato
	o Hitachi h8300 architecture update
    Ronald Wahl
	o Powerpc shared library relocation fixes

 -Erik



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.