3 See Changelog.full for the complete list of who did what.
6 This release is binary compatible with the 0.9.21 release
7 if you take care to avoid any configuraton changes that
8 might break things for you (i.e. enabling or disabling things
9 like soft-float, locale, wide wchar support, or changing cpu
10 type are all good examples of binary incompatible config options).
13 o Added e1, microblaze, and sh64 architectures.
14 o Much improved soft-float support
15 o Rewrote the passwd and group handing functions
16 and implemented all SuSv3 required reentrant
18 o Reworked and updated the Config system. You now
19 get to select your target architecture with the
21 o Fixed pthreads for mmuless m68k systems
22 o Added some x86 optimized string functions.
23 o Lots and lots of bugs fixed.
31 0.9.21 9 September 2003
33 See Changelog.full for the complete list of who did what.
36 This release is not binary compatible with earlier releases.
37 Sorry about that. We have never promised to provide binary
38 compatibility until we hit version 1.0, and even then, if
39 you change your configuration.
42 o uClibc now has full ANSI/ISO C99 locale support (except
43 for wcsftime() and collating items in regex).
44 o Added support for using pre-generated locale data, making
45 it easy for mere mortals to use uClibc w/locale support.
46 o Lots of new tuning options added to trade size
47 for features, allowing for smaller static binaries.
48 o The "dlopen()'ing libraries that depend on libraries"
50 o A new scanf implementation. Well tested, but
51 brand new so watch for obscure bugs...
52 o Reworked and updated the Config system, adding several
53 nice new features which we now use.
54 o Lots and lots of sundry bug fixes and cleanups.
64 See Changelog.full for the complete list of who did what.
67 This release remains binary compatible with 0.9.18 and 0.9.19.
71 o Some ldd, profiling, and gcc wrapper updates
72 o Updated to support and compile with gcc 3.3
73 o Several needed mips updates
74 o Building under cygwin should now work...
75 o Prevent non-PIC code getting into PIC libs
76 o Added mmap64 support
77 o mmu-less systems now get a 16k default thread stack size
78 which is much more sane than the old 2 MB default...
79 o Implemented syscall() for powerpc
80 o Optionally struct tm extension support
81 o Lots of other sundry little fixes and cleanups.
82 o Prevent buffer overflows in the passwd and group functions.
92 See Changelog.full for the complete list of who did what.
95 This release remains binary compatible with 0.9.18 (except
96 for mips, but then mips was unusable in stock 0.9.18 anyways).
101 o Some Makefile and warning fixes
103 o Fixed gcc wrapper handling of ctor/dtor stuff when used in
104 with and w/o the nostdinc and nostdlib options
106 o Fixed a number of system call kernel type/user type translation
107 problems that scrambled a handful of system calls.
108 o Fixup powerpc syscalls to eliminate warnings with gcc-3.2
109 o Fixed several ioctl special cases for powerpc
110 o Checked in forgotten mips kernel_types.h changes
111 o Fixed mips shared library loader bug that caused segfaults
112 o Major update to the pthreads library. Should improve performance.
113 o Fixed uClibc's shared library loader so we can properly debug
114 applications using pthreads (must use gdb 5.3 or newer which
115 was compiled using uClibc).
116 o Made uClibc's ldd act just the glibc provided one (i.e. relying
117 on the shared lib loader to do the work) when it is possible to
118 doi so, and only rummage about the ELF headers when we have no
119 other choice (such as when using 'ldd' on cross compiled stuff).
121 o header file updates for v850 architecture
122 o Fixed v850 crt0.S __uClibc_main argument stack space
124 o Fixed res_init() so it properly reloads /etc/resolv.conf
126 o Fixed ARM setjmp when floating point was disabled
128 o Removed debug (-g) when building crti.o and crtn.o, as
129 debug would mess up the build for SH4 and probably others.
130 o Fixed SH setjmp when floating point was enabled
139 0.9.18 12 February 2003
141 See Changelog.full for the complete list of who did what.
145 Once again, this release is _NOT_ binary compatible with earlier
146 releases. I _think this will be the last time (with the possible
147 exception of some future changes to our locale support...)
152 o fixed a compile problem when large file support was disabled
153 o fixed dlib_pic.o to compile with proper flags
154 o fixed a shared lib loader compile warning
155 o Made adding libgcc functions to uClibc optional
157 o Fixed scandir64 to not free the wrong pieces of memory
158 which caused segfaults
159 o Fixed mismatches between kernel and libc dirent structures
160 o Fixed mismatches between the size of uClibc's struct dirent
161 and struct dirent64 so that when _FILE_OFFSET_BITS=64 we
162 do not lose part of the filename
163 o Fixed getdents64.c so the build will not break when compiling
164 vs a 2.0.x Linux kernel when UCLIBC_HAS_LFS is enabled
165 o Create stub crti.o and crtn.o files when UCLIBC_CTOR_DTOR is disabled
166 o Fixed licenses for a few files that erroneously were listed as GPL
167 but were really LGPL after discussing with authors
168 o sigaction for x86 had an extra and unwanted sigaction syscall
169 o Fixed debugging of arm binaries by adding a .note.ABI-tag section
171 o header file updates for v850 architecture
172 o Fixed v850 clone syscall
174 o Fixed pthread_cond_timedwait to properly uses rt singals
177 o Added mips _flush_cache syscall
179 o Added m68k brk syscall
181 o Fixed pipe implementation for mips
190 0.9.17 25 January 2003
192 See Changelog.full for the complete list of who did what.
196 I have always reserved the right to make binary incompatible changes as
197 needed prior to the "1.0" release. This release is a good example of
198 that. A few bugs turned up that needed to be fixed and the only good way
199 to fix them was to change some fundamental data structure sizes. So I did
200 just that. As a result, this release is _NOT_ binary compatible with
201 earlier releases -- you will need to recompile your applications.
206 o fixed a number of shared library loader bugs
207 o setjmp, longjmp, clone, and vfork cleanups for the SH architecture
208 o Don't build the config system with ncurses unless asked to
210 o cris architecture updates
212 o Changed 'struct stat' and 'struct stat64' so they use types that
213 are consistant with use elsewhere in the library. Without this,
214 subtle bugs would occur due to comparing signed and unsigned
215 types (for example, GNU tar wouldn't work)
216 o Fixed dlopen so it works with staticly linked apps
217 o Fixed sigaction on arm architecture so sa_restorer works properly
218 o Fixed sigaction on x86 architecture for (fixed debugging threads)
219 o Fixed a wide char related segfault in the regular expression code
220 o Powerpc pread and pwrite are now implemented correctly
221 o Powerpc syscall mechanism re-implemented
222 o Sparc architecture and syscall mechanism fixed up so things compile
223 o usershell reimplemented
224 o Fixed global destructors for staticly linked applications
225 o Added dynamic atexit support (needed for full C++ ctor/dtor support)
226 o The ldd utility now acts more like the GNU utility
227 o Added a stub libnsl library to make stupid configure scripts bahave
228 o Always build crt1.o as well as crt0.o to minimize the need to mess
230 o Rewrote powerpc crt0.S to properly handle ctors/dtors
231 o Removed unimplemented and legacy stuff from our header files to
232 make configure behave better
233 o Made the lib loader also support libs in /usr/X11R6/lib by default
234 o Config system updates
235 o networking function updates
236 o Large file support updates
237 o Lots of other little bug fixes and cleanups
241 o Fixed pthread_mutex_lock and pthread_mutex_unlock so they
242 actually work as advertised on mips
243 o Fixed several nasty pthread bugs fixing debugging
245 o Fixed potential segfaults during 'make menuconfig'
247 o Fixed a subtle problem in the DNS resolver that prevented
248 uncompressed DNS lookup responses from working
250 o Fixed pclose error handling
252 o fixed the problem where arm binaries would crash on start
253 that Erik stupidly caused right before the last release.
255 o Major locale support update!
256 o Allow people to use pregenerated locale data instead of generating
257 approx 40Mb of glibc locales to get the 300+ locales currently
259 o locale dependent collation support
260 o Fixed locale support tools to work when cross-compiling
261 o Added the *wprintf functions
262 o Added the wcsto{inttype} functions
263 o Added iconv() and a mini iconv utility
264 o Added hsearch and hsearch_r
265 o Fixed a silly bug allowing wprintf %s to work correctly.
266 o Fixed fdopen when used with "a" (append).
267 o Fixed stdio file position handing to be sure fell() always
268 gives correct results
270 o Fixed a buffer overflow in getlogin_r
272 o Hitachi h8300 architecture update
274 o Powerpc shared library relocation fixes
280 0.9.16 8 November 2002
282 See Changelog.full for the complete list of who did what.
285 o CRIS architecture and shared library support from Tobias Anderberg
286 o New uClibc configuration system
287 o shared library global constructors and destructors initialization
288 ordering fixed by Stefan Allius
289 o More SuperH architecture fixes from Stefan Allius
290 o uClibc now compiles with newer versions of gcc (i.e. RedHat 8.0)
291 o uClibc no longer requires perl to compile
292 o mips dlopen was fixed by Steven J. Hill
293 o pty and tty handling fixes
294 o Manuel Novoa added support for a new /etc/TZ file for globally
295 setting the system timezone.
296 o Manuel also fixed up a number of remaining wide char issues.
297 o Lots of other little bug fixes and cleanups
303 0.9.15 27 August 2002
305 This is a minor bugfix release.
307 See Changelog.full for the complete list of who did what.
309 o Eliminated the HAS_LONG_LONG option. gcc always supports
310 long long, and the option never excluded all long long anyways.
311 o ctype.h no longer allows multiple argument evaluation in
312 compliance with ANSI/ISO C99
313 o Obscure printf fixes -- one involving %o and one involving %f.
314 o Bugfixes for locking and reentrance in password/group functions
315 o Directly use kernel types for most items, eliminating needless
316 translation and fixing several bugs.
317 o Directly use kernel struct stat -- no more translating
318 o More superH (sh) architecture merging from Stefan Allius
319 o Errno values and strerror are now correct on alpha, sparc, and mips
320 o Fixed an obscure bug with fclose when custom streams are enabled.
321 o Lots of other little bug fixes and cleanups
327 0.9.14 12 August 2002
329 This is a minor bugfix release.
331 See Changelog.full for the complete list of who did what.
333 o Fix a compile error when RPC and Pthread support
335 o Eliminate duplicate define warnings in wstring.c.
336 o Fix potentially broken preprocessor comparisons.
337 o Erik was an idiot and broke thread locking in exit(),
338 atexit() and friends. Fix that.
339 o Fix the gcc wrapper to use crtbeginS.o and crtendS.o when
340 compiling PIC code (crtbegin.o and crtend.o) otherwise.
350 o There was an off-by-one buffer overflow in the group
351 handling code, fix thanks to Joseph Chiu.
352 o There was an integer overflow bug in calloc, per
353 http://online.securityfocus.com/bid/5398
354 o There was an integer overflow bug in the xdr_array
355 RPC code, per http://online.securityfocus.com/bid/5356
357 See Changelog.full for the complete list of who did what.
359 o Add full shared library support for Hitachi SuperH (sh)
360 thanks to Stefan Allius and Edie C. Dost
361 o Lots of reentrance cleanups (we should now be fully
362 reentrant when compiled with pthread support).
363 o Miles Bader implemented a new mmap based malloc which is much
364 smarter than the old "malloc-simple", and actually works, unlike
365 the old "malloc". This is now the default for mmu-less systems
366 and should greatly help reduce memory fragmentation and wastage.
367 o Reworked syscall handling for i386 and ARM, smaller and cleaner.
368 o Support for the syscall() function on i386 and ARM
369 o The uClibc g++ wrapper now automagically adds the proper include
370 search path and and libraries.
371 o Lots of shared library loader updates
372 o dlopen'd shred libraries not properly run destructors
373 when ctor/dtor support is enabled
374 o pread/pwrite/pread64/pwrite64 now all work as expected
375 o Lots and lots of other bug fixes and cleanups.
384 See Changelog.full for the complete list of who did what.
386 o Add full shared library support for mips (big and little
387 endian), thanks to a lot of hard work from Steven J. Hill
388 o i960 architecture support, thanks to Martin Proulx
389 o An initial alpha port (works, but needs some cleanup)
390 o Fixes shared library support for powerpc
391 o Fixes for mmu-less systems
392 o Much improved thread locking and reentrance.
393 o More gcc wrapper updates. XFree86 really does link
394 this time around. It still didn't last time.
395 o Libcrypt now passes conformance tests
396 o Nearly complete locale supporti thanks to a lot
397 of hard work by Manuel Novoa III. This stuff is
398 _way_ smaller than glibc's
399 o Completely new time handling functions also by Manuel
400 o Lots of other bug fixes and cleanups.
412 o Much better large file support
413 o Several gcc wrapper bug fixes, so things like iproute2 and
414 XFree86 should now link properly.
415 o Fixes a stdio thread locking bug that could cause random
416 deadlocks on s*printf calls when threading was enabled.
419 o Added a generic implementation of truncate64.c and ftruncate64.c
420 o Added missing creat64, glob64, mkstemp64, getrlimit64, setrlimit64
421 o Removed internal erroneous use of __USE_FILE_OFFSET64
422 o Made libpthread compile on sparc and powerpc
423 o Made libpthread soname and symlinks match the other libraries.
424 o Added finite() to the C89 math lib, since some math functions use it.
425 o Added missing function pointer to error.c (some apps wanted it)
426 o Fixed initfini build for arches where gcc tries to be sneaky
427 o Fixed m68k/bits/setjmp.h which I has broken in the last release.
428 o Fixed a buffer overflow in the dynamic library loader
429 o Fixed a stdio thread locking bug that could cause random
430 deadlocks on s*printf calls when threading was enabled.
431 o Implemented sqrtf(), needed for libstdc++ on arm
433 o Make clean fixes to not blindly wipe all symlinks
434 o Re-enabled clnt_perror()
435 o Re-implemented swab()
437 o Many updates to the uClibc Working Application List
439 o Many updates to the mips dynamic loader. Not yet working but
440 getting very close now.
441 o Fixed locking bug in getttyent()
442 o Support libpthread on mips
444 o Fixed several bugs in utmp code (pututline was only writing the
445 first sizeof-a-pointer bytes to the utmpfile).
446 o setutent() was only opening utmp readonly.
448 o Fixed a silly typing problem with the getuid syscall.
450 o Fixed stdio FILE read/write auto-transition bugs.
451 o Better stdio errno handling
452 o Changed setvbuf() to more closely match glibc's behavior
453 o Fixed getpass() to not echo passwords to the console
454 o Fixed locale ISblank flag.
455 o Fixed an arg promotion handling bug in _do_one_spec for %c reported
460 o Fixed h8300 architecture support for pthreads and changes to
463 o Made powerpc assembly code PIC-compatible
464 o Removed powerpc R_PPC_REL24 handling, since it was deceptively useless.
466 o Several types on powerpc, such as dev_t, are different than on other
467 architectures. John spotted this, which fixed a _ton_ of problems since
468 anything calling stat() was previously broken.
470 o Eliminated use of alarm() from the DNS resolver by converting
471 it to use select instead (much cleaner).
483 o pthreads support (derived from glibc 2.1.3's linuxthreads library)
484 by Stefan Soucek and Erik Andersen
485 o pthreads support for MMU-less systems, by Stefan Soucek
486 o Complete rewrite of all stdio functions for standards compliance,
487 small size, pthreads support, wide/narrow stream support, large
488 file support, unbuffered support, etc, etc by Manuel Novoa III
489 o gcc wrapper reworked by Erik Andersen. Now operated correctly in
490 all known cases, and now wraps g++ as well for C++ support.
491 o constructor/destructor support, for C++ by Erik Andersen.
492 o Eliminated duplicate include/bits header files, by Erik Andersen.
493 Now all common include/bits headers are grouped together.
497 o Lots of changes and improvements to the shared library loader
498 o Cleaned up a piles of bugs
499 o Fixed a segfault when scandir was called on empty directories.
500 o Several syscalls added: pread/pwrite
501 o Makefile/build system cleanups
503 o pthreads support (with Stefan Soucek)
504 o Added ldexp to the C89 math library, per POSIX
505 o fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
507 o Reworked libcrypt to avoid leaking private symbols into the namespace
508 o Added strtof(), strtold(), updwtmp(), strptime()
509 o Fix ldso build for older arm cross compilers
512 o fixed gcc wrapper handling of -M* options
513 o Fixed truncate64/ftruncate64 to restrict them to 64-bit systems,
514 since we can't be sure that the _syscall macros can cope with 64
515 bit args on 32 bit arches.
516 o Large File support on the v850
517 o Fixed v850 headers after Erik messed them up
518 o Eliminate include/features.h namespace pollution
520 o Fixed pthread support for SH, and fixed SH vfork as well
521 o Fixed SH headers after Erik messed them up
523 o Mips architecture cleanups. Now works perfectly
524 with busybox, vi, ash, etc...
525 o Merged in the random number support (rand, srand, etc) from glibc.
527 o Fixes DNS resolver bug from 0.9.9
529 o Fixed build to support both mips and mipsel
530 o Beginnings of a mips ldso port
532 o Support for gnu error() functions
534 o Coldfire platform updates: clone, setjmp
535 o Fixed simple malloc to work on systems with an MMU
537 o Rewrote all stdio functions for standards compliance, small size,
538 pthreads support, wide/narrow stream support, large file support,
539 unbuffered support, etc, etc, etc.
540 o Rewrote the various string to int functions to be smaller, more
541 standards compilant, and reduce dependance on libgcc.a.
543 o ptrace for the Hitachi h8300 fix
545 o Debian packaging updates
546 o Check for proper 16-byte aliged stack pointer on powerpc
548 o pthreads support for MMU-less systems
549 o pthreads support (with Erik Andersen)
551 o Rewrote strcasecmp() per SUSv2.
553 o Added missing IPV6 support and reentrant networking function
554 additions so iptables now runs with IPV6 support.
561 0.9.9 February 4, 2002
564 o A bunch of doc updates. Major update to the working
566 o Added a configurator script (extra/Configs/uClibc_config_fix.pl)
567 which can simplify configuring uClibc.
568 o Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
569 Hitting ^C in ash kills client apps now, not ash.
570 o Reworked signal handling code so it now passes POSIX
572 o Fixed sleep and usleep to work correctly when
573 interrupted by signals.
574 o Made getopt behave the same when staticly linking
575 as when dynamicly linking. It was using different
576 implementations depending on how apps were linked.
577 o Added missing inttypes.h header file
578 o Eliminate all C++ style comments from header files
579 o Support statvfs and statfs
580 o Support getmntent_r
581 o Scandir and scandir64 were calling malloc without
583 o Fixed stpcpy function declaration
584 o Many large file support improvements.
585 o Fixed fcntl to work when DOLFS is enabled
586 o Fixed termios code to do the Right Thing(tm)
587 o Allow regex to be excluded at compile time
588 o Implemented mempcpy
589 o Build ldd and readelf for the target system and for the
591 o Fix several cases where get-needed-libgcc-objects.sh
592 could fail, breaking the shared uClibc library.
593 o Include all shared library loader objects into a
594 single C file, thereby reducing its size further.
595 o Reworked the shared library linking process to be more
596 flexible so that gcc and ld can more easily be built to
597 target uClibc library.
598 o Better error checking in the Makefiles. Be more pedantic
599 about tar, chmod, etc to avoid system dependent failures.
600 o We can now autodetect the target architecture
601 o Hide references to wchar_t so GNU autoconf
602 configure scripts won't get confused and try to
603 enable wide char support.
604 o Fixed stdio.h so apps can use varargs.h if they want to.
605 o Added brk/sbrk support for ARM, powerpc, mips, and sparc
606 and set them to default to the much faster brk using malloc
607 o Added missing syscalls: get_kernel_syms, fcntl64,
608 fdatasync, sched_setparam, sched_getparam,
609 sched_setscheduler, sched_getscheduler,
610 sched_get_priority_max, sched_get_priority_min,
611 sched_rr_get_interval, sigaltstack, sendfile,
612 pivot_root, sigsuspend, setfsuid, and setfsgid
613 o Force DOPIC be true when HAVE_SHARED is true.
615 o Implemented gethostent(), sethostent(), and endhostent()
616 o Added arch specific support so that sparc and mips actually
619 o Fixes for the v850 architecture: crt0, setjmp,
620 arch autodetection, etc.
621 o Fixed `make install' to not build ldso stuff on
622 non-shared-library systems.
624 o Allow the gcc wrapper to support setting DEVEL_PREFIX
625 and BUILD_DIR at runtime (no more need to recompile).
626 M. R. Brown and Erik Andersen:
627 o Fixed the SH port so it now works. Tested and shown
628 working on an SH4 Dreamcast system.
630 o Made 'make clean' remove generated bits/syscall.h
632 o SH architecture updates. Added brk, sbrk,
633 o Fixed simple malloc to work on systems with an MMU
634 o Taught getutent to return NULL if utmp doesn't exist.
635 o Added insque/remque support
636 o Fixed DNS resolver version number so apps won't get
637 confused and use the wrong API.
638 o Added Config selectable shadow password support
640 o Contributed support for the Hitach H8/300H architecture
642 o Add support for inet_netof, inet_lnaof, inet_makeaddr
645 o Added libstrip, a nifty script to automagically
646 strip unneeded content from the uClibc shared
649 o Added getw() and putw()
650 o Added missing header files -- lastlog.h, sgtty.h,
651 netipx/ipx.h, sys/perm.h
653 o Add rcmd support, i.e. rsh, rlogin, etc.
654 o Fix rcmd to avoid alloca, which is dangerous
657 o Eliminate a buffer overflow in the shared library loader
659 o Enable support for Unix98 PTYs, and add option
660 to disable old style PTYs.