1 0.9.24 15 December 2003
3 See Changelog.full for the complete list of who did what.
6 This release remains binary compatible with uClibc 0.9.21-23 as
7 long as you take care to avoid any configuraton changes that will
10 We currently plan to break binary compatibilty in the upcoming 0.9.25 to
11 implement a few things we have been postponing, which will hopefully be
15 o Fixed several silly configuration problems
16 o Added arm optimized string functions
17 o Lots of minor cleanups
25 0.9.23 13 November 2003
27 See Changelog.full for the complete list of who did what.
30 This release is binary compatible with uClibc 0.9.21 and 0.9.22 as
31 long as you take care to avoid any configuraton changes that will
32 break things. Enabling or disabling things like soft-float,
33 locale, wide wchar support, or changing cpu type are all good
34 examples of things that will break binary compatibility.
37 o Fixed several silly configuration problems that were
38 present in the 0.9.22 release.
39 o Fixed compilation problem with soft-float support on
40 several architectures.
41 o Lots of cleanup work on the powepc shared lib loader
42 thanks to Joakim Tjernlund.
43 o Updated the debian packaging for use in a standalone uClibc
44 system, rather than being a subordinate library under a
53 0.9.22 8 November 2003
55 See Changelog.full for the complete list of who did what.
58 This release is binary compatible with the 0.9.21 release
59 if you take care to avoid any configuraton changes that
60 might break things for you (i.e. enabling or disabling things
61 like soft-float, locale, wide wchar support, or changing cpu
62 type are all good examples of binary incompatible config options).
65 o Added e1, microblaze, and sh64 architectures.
66 o Much improved soft-float support
67 o Rewrote the passwd and group handing functions
68 and implemented all SuSv3 required reentrant
70 o Reworked and updated the Config system. You now
71 get to select your target architecture with the
73 o Fixed pthreads for mmuless m68k systems
74 o Added some x86 optimized string functions.
75 o Lots and lots of bugs fixed.
83 0.9.21 9 September 2003
85 See Changelog.full for the complete list of who did what.
88 This release is not binary compatible with earlier releases.
89 Sorry about that. We have never promised to provide binary
90 compatibility until we hit version 1.0, and even then, if
91 you change your configuration.
94 o uClibc now has full ANSI/ISO C99 locale support (except
95 for wcsftime() and collating items in regex).
96 o Added support for using pre-generated locale data, making
97 it easy for mere mortals to use uClibc w/locale support.
98 o Lots of new tuning options added to trade size
99 for features, allowing for smaller static binaries.
100 o The "dlopen()'ing libraries that depend on libraries"
102 o A new scanf implementation. Well tested, but
103 brand new so watch for obscure bugs...
104 o Reworked and updated the Config system, adding several
105 nice new features which we now use.
106 o Lots and lots of sundry bug fixes and cleanups.
116 See Changelog.full for the complete list of who did what.
119 This release remains binary compatible with 0.9.18 and 0.9.19.
123 o Some ldd, profiling, and gcc wrapper updates
124 o Updated to support and compile with gcc 3.3
125 o Several needed mips updates
126 o Building under cygwin should now work...
127 o Prevent non-PIC code getting into PIC libs
128 o Added mmap64 support
129 o mmu-less systems now get a 16k default thread stack size
130 which is much more sane than the old 2 MB default...
131 o Implemented syscall() for powerpc
132 o Optionally struct tm extension support
133 o Lots of other sundry little fixes and cleanups.
134 o Prevent buffer overflows in the passwd and group functions.
144 See Changelog.full for the complete list of who did what.
147 This release remains binary compatible with 0.9.18 (except
148 for mips, but then mips was unusable in stock 0.9.18 anyways).
153 o Some Makefile and warning fixes
155 o Fixed gcc wrapper handling of ctor/dtor stuff when used in
156 with and w/o the nostdinc and nostdlib options
158 o Fixed a number of system call kernel type/user type translation
159 problems that scrambled a handful of system calls.
160 o Fixup powerpc syscalls to eliminate warnings with gcc-3.2
161 o Fixed several ioctl special cases for powerpc
162 o Checked in forgotten mips kernel_types.h changes
163 o Fixed mips shared library loader bug that caused segfaults
164 o Major update to the pthreads library. Should improve performance.
165 o Fixed uClibc's shared library loader so we can properly debug
166 applications using pthreads (must use gdb 5.3 or newer which
167 was compiled using uClibc).
168 o Made uClibc's ldd act just the glibc provided one (i.e. relying
169 on the shared lib loader to do the work) when it is possible to
170 doi so, and only rummage about the ELF headers when we have no
171 other choice (such as when using 'ldd' on cross compiled stuff).
173 o header file updates for v850 architecture
174 o Fixed v850 crt0.S __uClibc_main argument stack space
176 o Fixed res_init() so it properly reloads /etc/resolv.conf
178 o Fixed ARM setjmp when floating point was disabled
180 o Removed debug (-g) when building crti.o and crtn.o, as
181 debug would mess up the build for SH4 and probably others.
182 o Fixed SH setjmp when floating point was enabled
191 0.9.18 12 February 2003
193 See Changelog.full for the complete list of who did what.
197 Once again, this release is _NOT_ binary compatible with earlier
198 releases. I _think this will be the last time (with the possible
199 exception of some future changes to our locale support...)
204 o fixed a compile problem when large file support was disabled
205 o fixed dlib_pic.o to compile with proper flags
206 o fixed a shared lib loader compile warning
207 o Made adding libgcc functions to uClibc optional
209 o Fixed scandir64 to not free the wrong pieces of memory
210 which caused segfaults
211 o Fixed mismatches between kernel and libc dirent structures
212 o Fixed mismatches between the size of uClibc's struct dirent
213 and struct dirent64 so that when _FILE_OFFSET_BITS=64 we
214 do not lose part of the filename
215 o Fixed getdents64.c so the build will not break when compiling
216 vs a 2.0.x Linux kernel when UCLIBC_HAS_LFS is enabled
217 o Create stub crti.o and crtn.o files when UCLIBC_CTOR_DTOR is disabled
218 o Fixed licenses for a few files that erroneously were listed as GPL
219 but were really LGPL after discussing with authors
220 o sigaction for x86 had an extra and unwanted sigaction syscall
221 o Fixed debugging of arm binaries by adding a .note.ABI-tag section
223 o header file updates for v850 architecture
224 o Fixed v850 clone syscall
226 o Fixed pthread_cond_timedwait to properly uses rt singals
229 o Added mips _flush_cache syscall
231 o Added m68k brk syscall
233 o Fixed pipe implementation for mips
242 0.9.17 25 January 2003
244 See Changelog.full for the complete list of who did what.
248 I have always reserved the right to make binary incompatible changes as
249 needed prior to the "1.0" release. This release is a good example of
250 that. A few bugs turned up that needed to be fixed and the only good way
251 to fix them was to change some fundamental data structure sizes. So I did
252 just that. As a result, this release is _NOT_ binary compatible with
253 earlier releases -- you will need to recompile your applications.
258 o fixed a number of shared library loader bugs
259 o setjmp, longjmp, clone, and vfork cleanups for the SH architecture
260 o Don't build the config system with ncurses unless asked to
262 o cris architecture updates
264 o Changed 'struct stat' and 'struct stat64' so they use types that
265 are consistant with use elsewhere in the library. Without this,
266 subtle bugs would occur due to comparing signed and unsigned
267 types (for example, GNU tar wouldn't work)
268 o Fixed dlopen so it works with staticly linked apps
269 o Fixed sigaction on arm architecture so sa_restorer works properly
270 o Fixed sigaction on x86 architecture for (fixed debugging threads)
271 o Fixed a wide char related segfault in the regular expression code
272 o Powerpc pread and pwrite are now implemented correctly
273 o Powerpc syscall mechanism re-implemented
274 o Sparc architecture and syscall mechanism fixed up so things compile
275 o usershell reimplemented
276 o Fixed global destructors for staticly linked applications
277 o Added dynamic atexit support (needed for full C++ ctor/dtor support)
278 o The ldd utility now acts more like the GNU utility
279 o Added a stub libnsl library to make stupid configure scripts bahave
280 o Always build crt1.o as well as crt0.o to minimize the need to mess
282 o Rewrote powerpc crt0.S to properly handle ctors/dtors
283 o Removed unimplemented and legacy stuff from our header files to
284 make configure behave better
285 o Made the lib loader also support libs in /usr/X11R6/lib by default
286 o Config system updates
287 o networking function updates
288 o Large file support updates
289 o Lots of other little bug fixes and cleanups
293 o Fixed pthread_mutex_lock and pthread_mutex_unlock so they
294 actually work as advertised on mips
295 o Fixed several nasty pthread bugs fixing debugging
297 o Fixed potential segfaults during 'make menuconfig'
299 o Fixed a subtle problem in the DNS resolver that prevented
300 uncompressed DNS lookup responses from working
302 o Fixed pclose error handling
304 o fixed the problem where arm binaries would crash on start
305 that Erik stupidly caused right before the last release.
307 o Major locale support update!
308 o Allow people to use pregenerated locale data instead of generating
309 approx 40Mb of glibc locales to get the 300+ locales currently
311 o locale dependent collation support
312 o Fixed locale support tools to work when cross-compiling
313 o Added the *wprintf functions
314 o Added the wcsto{inttype} functions
315 o Added iconv() and a mini iconv utility
316 o Added hsearch and hsearch_r
317 o Fixed a silly bug allowing wprintf %s to work correctly.
318 o Fixed fdopen when used with "a" (append).
319 o Fixed stdio file position handing to be sure fell() always
320 gives correct results
322 o Fixed a buffer overflow in getlogin_r
324 o Hitachi h8300 architecture update
326 o Powerpc shared library relocation fixes
332 0.9.16 8 November 2002
334 See Changelog.full for the complete list of who did what.
337 o CRIS architecture and shared library support from Tobias Anderberg
338 o New uClibc configuration system
339 o shared library global constructors and destructors initialization
340 ordering fixed by Stefan Allius
341 o More SuperH architecture fixes from Stefan Allius
342 o uClibc now compiles with newer versions of gcc (i.e. RedHat 8.0)
343 o uClibc no longer requires perl to compile
344 o mips dlopen was fixed by Steven J. Hill
345 o pty and tty handling fixes
346 o Manuel Novoa added support for a new /etc/TZ file for globally
347 setting the system timezone.
348 o Manuel also fixed up a number of remaining wide char issues.
349 o Lots of other little bug fixes and cleanups
355 0.9.15 27 August 2002
357 This is a minor bugfix release.
359 See Changelog.full for the complete list of who did what.
361 o Eliminated the HAS_LONG_LONG option. gcc always supports
362 long long, and the option never excluded all long long anyways.
363 o ctype.h no longer allows multiple argument evaluation in
364 compliance with ANSI/ISO C99
365 o Obscure printf fixes -- one involving %o and one involving %f.
366 o Bugfixes for locking and reentrance in password/group functions
367 o Directly use kernel types for most items, eliminating needless
368 translation and fixing several bugs.
369 o Directly use kernel struct stat -- no more translating
370 o More superH (sh) architecture merging from Stefan Allius
371 o Errno values and strerror are now correct on alpha, sparc, and mips
372 o Fixed an obscure bug with fclose when custom streams are enabled.
373 o Lots of other little bug fixes and cleanups
379 0.9.14 12 August 2002
381 This is a minor bugfix release.
383 See Changelog.full for the complete list of who did what.
385 o Fix a compile error when RPC and Pthread support
387 o Eliminate duplicate define warnings in wstring.c.
388 o Fix potentially broken preprocessor comparisons.
389 o Erik was an idiot and broke thread locking in exit(),
390 atexit() and friends. Fix that.
391 o Fix the gcc wrapper to use crtbeginS.o and crtendS.o when
392 compiling PIC code (crtbegin.o and crtend.o) otherwise.
402 o There was an off-by-one buffer overflow in the group
403 handling code, fix thanks to Joseph Chiu.
404 o There was an integer overflow bug in calloc, per
405 http://online.securityfocus.com/bid/5398
406 o There was an integer overflow bug in the xdr_array
407 RPC code, per http://online.securityfocus.com/bid/5356
409 See Changelog.full for the complete list of who did what.
411 o Add full shared library support for Hitachi SuperH (sh)
412 thanks to Stefan Allius and Edie C. Dost
413 o Lots of reentrance cleanups (we should now be fully
414 reentrant when compiled with pthread support).
415 o Miles Bader implemented a new mmap based malloc which is much
416 smarter than the old "malloc-simple", and actually works, unlike
417 the old "malloc". This is now the default for mmu-less systems
418 and should greatly help reduce memory fragmentation and wastage.
419 o Reworked syscall handling for i386 and ARM, smaller and cleaner.
420 o Support for the syscall() function on i386 and ARM
421 o The uClibc g++ wrapper now automagically adds the proper include
422 search path and and libraries.
423 o Lots of shared library loader updates
424 o dlopen'd shred libraries not properly run destructors
425 when ctor/dtor support is enabled
426 o pread/pwrite/pread64/pwrite64 now all work as expected
427 o Lots and lots of other bug fixes and cleanups.
436 See Changelog.full for the complete list of who did what.
438 o Add full shared library support for mips (big and little
439 endian), thanks to a lot of hard work from Steven J. Hill
440 o i960 architecture support, thanks to Martin Proulx
441 o An initial alpha port (works, but needs some cleanup)
442 o Fixes shared library support for powerpc
443 o Fixes for mmu-less systems
444 o Much improved thread locking and reentrance.
445 o More gcc wrapper updates. XFree86 really does link
446 this time around. It still didn't last time.
447 o Libcrypt now passes conformance tests
448 o Nearly complete locale supporti thanks to a lot
449 of hard work by Manuel Novoa III. This stuff is
450 _way_ smaller than glibc's
451 o Completely new time handling functions also by Manuel
452 o Lots of other bug fixes and cleanups.
464 o Much better large file support
465 o Several gcc wrapper bug fixes, so things like iproute2 and
466 XFree86 should now link properly.
467 o Fixes a stdio thread locking bug that could cause random
468 deadlocks on s*printf calls when threading was enabled.
471 o Added a generic implementation of truncate64.c and ftruncate64.c
472 o Added missing creat64, glob64, mkstemp64, getrlimit64, setrlimit64
473 o Removed internal erroneous use of __USE_FILE_OFFSET64
474 o Made libpthread compile on sparc and powerpc
475 o Made libpthread soname and symlinks match the other libraries.
476 o Added finite() to the C89 math lib, since some math functions use it.
477 o Added missing function pointer to error.c (some apps wanted it)
478 o Fixed initfini build for arches where gcc tries to be sneaky
479 o Fixed m68k/bits/setjmp.h which I has broken in the last release.
480 o Fixed a buffer overflow in the dynamic library loader
481 o Fixed a stdio thread locking bug that could cause random
482 deadlocks on s*printf calls when threading was enabled.
483 o Implemented sqrtf(), needed for libstdc++ on arm
485 o Make clean fixes to not blindly wipe all symlinks
486 o Re-enabled clnt_perror()
487 o Re-implemented swab()
489 o Many updates to the uClibc Working Application List
491 o Many updates to the mips dynamic loader. Not yet working but
492 getting very close now.
493 o Fixed locking bug in getttyent()
494 o Support libpthread on mips
496 o Fixed several bugs in utmp code (pututline was only writing the
497 first sizeof-a-pointer bytes to the utmpfile).
498 o setutent() was only opening utmp readonly.
500 o Fixed a silly typing problem with the getuid syscall.
502 o Fixed stdio FILE read/write auto-transition bugs.
503 o Better stdio errno handling
504 o Changed setvbuf() to more closely match glibc's behavior
505 o Fixed getpass() to not echo passwords to the console
506 o Fixed locale ISblank flag.
507 o Fixed an arg promotion handling bug in _do_one_spec for %c reported
512 o Fixed h8300 architecture support for pthreads and changes to
515 o Made powerpc assembly code PIC-compatible
516 o Removed powerpc R_PPC_REL24 handling, since it was deceptively useless.
518 o Several types on powerpc, such as dev_t, are different than on other
519 architectures. John spotted this, which fixed a _ton_ of problems since
520 anything calling stat() was previously broken.
522 o Eliminated use of alarm() from the DNS resolver by converting
523 it to use select instead (much cleaner).
535 o pthreads support (derived from glibc 2.1.3's linuxthreads library)
536 by Stefan Soucek and Erik Andersen
537 o pthreads support for MMU-less systems, by Stefan Soucek
538 o Complete rewrite of all stdio functions for standards compliance,
539 small size, pthreads support, wide/narrow stream support, large
540 file support, unbuffered support, etc, etc by Manuel Novoa III
541 o gcc wrapper reworked by Erik Andersen. Now operated correctly in
542 all known cases, and now wraps g++ as well for C++ support.
543 o constructor/destructor support, for C++ by Erik Andersen.
544 o Eliminated duplicate include/bits header files, by Erik Andersen.
545 Now all common include/bits headers are grouped together.
549 o Lots of changes and improvements to the shared library loader
550 o Cleaned up a piles of bugs
551 o Fixed a segfault when scandir was called on empty directories.
552 o Several syscalls added: pread/pwrite
553 o Makefile/build system cleanups
555 o pthreads support (with Stefan Soucek)
556 o Added ldexp to the C89 math library, per POSIX
557 o fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
559 o Reworked libcrypt to avoid leaking private symbols into the namespace
560 o Added strtof(), strtold(), updwtmp(), strptime()
561 o Fix ldso build for older arm cross compilers
564 o fixed gcc wrapper handling of -M* options
565 o Fixed truncate64/ftruncate64 to restrict them to 64-bit systems,
566 since we can't be sure that the _syscall macros can cope with 64
567 bit args on 32 bit arches.
568 o Large File support on the v850
569 o Fixed v850 headers after Erik messed them up
570 o Eliminate include/features.h namespace pollution
572 o Fixed pthread support for SH, and fixed SH vfork as well
573 o Fixed SH headers after Erik messed them up
575 o Mips architecture cleanups. Now works perfectly
576 with busybox, vi, ash, etc...
577 o Merged in the random number support (rand, srand, etc) from glibc.
579 o Fixes DNS resolver bug from 0.9.9
581 o Fixed build to support both mips and mipsel
582 o Beginnings of a mips ldso port
584 o Support for gnu error() functions
586 o Coldfire platform updates: clone, setjmp
587 o Fixed simple malloc to work on systems with an MMU
589 o Rewrote all stdio functions for standards compliance, small size,
590 pthreads support, wide/narrow stream support, large file support,
591 unbuffered support, etc, etc, etc.
592 o Rewrote the various string to int functions to be smaller, more
593 standards compilant, and reduce dependance on libgcc.a.
595 o ptrace for the Hitachi h8300 fix
597 o Debian packaging updates
598 o Check for proper 16-byte aliged stack pointer on powerpc
600 o pthreads support for MMU-less systems
601 o pthreads support (with Erik Andersen)
603 o Rewrote strcasecmp() per SUSv2.
605 o Added missing IPV6 support and reentrant networking function
606 additions so iptables now runs with IPV6 support.
613 0.9.9 February 4, 2002
616 o A bunch of doc updates. Major update to the working
618 o Added a configurator script (extra/Configs/uClibc_config_fix.pl)
619 which can simplify configuring uClibc.
620 o Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
621 Hitting ^C in ash kills client apps now, not ash.
622 o Reworked signal handling code so it now passes POSIX
624 o Fixed sleep and usleep to work correctly when
625 interrupted by signals.
626 o Made getopt behave the same when staticly linking
627 as when dynamicly linking. It was using different
628 implementations depending on how apps were linked.
629 o Added missing inttypes.h header file
630 o Eliminate all C++ style comments from header files
631 o Support statvfs and statfs
632 o Support getmntent_r
633 o Scandir and scandir64 were calling malloc without
635 o Fixed stpcpy function declaration
636 o Many large file support improvements.
637 o Fixed fcntl to work when DOLFS is enabled
638 o Fixed termios code to do the Right Thing(tm)
639 o Allow regex to be excluded at compile time
640 o Implemented mempcpy
641 o Build ldd and readelf for the target system and for the
643 o Fix several cases where get-needed-libgcc-objects.sh
644 could fail, breaking the shared uClibc library.
645 o Include all shared library loader objects into a
646 single C file, thereby reducing its size further.
647 o Reworked the shared library linking process to be more
648 flexible so that gcc and ld can more easily be built to
649 target uClibc library.
650 o Better error checking in the Makefiles. Be more pedantic
651 about tar, chmod, etc to avoid system dependent failures.
652 o We can now autodetect the target architecture
653 o Hide references to wchar_t so GNU autoconf
654 configure scripts won't get confused and try to
655 enable wide char support.
656 o Fixed stdio.h so apps can use varargs.h if they want to.
657 o Added brk/sbrk support for ARM, powerpc, mips, and sparc
658 and set them to default to the much faster brk using malloc
659 o Added missing syscalls: get_kernel_syms, fcntl64,
660 fdatasync, sched_setparam, sched_getparam,
661 sched_setscheduler, sched_getscheduler,
662 sched_get_priority_max, sched_get_priority_min,
663 sched_rr_get_interval, sigaltstack, sendfile,
664 pivot_root, sigsuspend, setfsuid, and setfsgid
665 o Force DOPIC be true when HAVE_SHARED is true.
667 o Implemented gethostent(), sethostent(), and endhostent()
668 o Added arch specific support so that sparc and mips actually
671 o Fixes for the v850 architecture: crt0, setjmp,
672 arch autodetection, etc.
673 o Fixed `make install' to not build ldso stuff on
674 non-shared-library systems.
676 o Allow the gcc wrapper to support setting DEVEL_PREFIX
677 and BUILD_DIR at runtime (no more need to recompile).
678 M. R. Brown and Erik Andersen:
679 o Fixed the SH port so it now works. Tested and shown
680 working on an SH4 Dreamcast system.
682 o Made 'make clean' remove generated bits/syscall.h
684 o SH architecture updates. Added brk, sbrk,
685 o Fixed simple malloc to work on systems with an MMU
686 o Taught getutent to return NULL if utmp doesn't exist.
687 o Added insque/remque support
688 o Fixed DNS resolver version number so apps won't get
689 confused and use the wrong API.
690 o Added Config selectable shadow password support
692 o Contributed support for the Hitach H8/300H architecture
694 o Add support for inet_netof, inet_lnaof, inet_makeaddr
697 o Added libstrip, a nifty script to automagically
698 strip unneeded content from the uClibc shared
701 o Added getw() and putw()
702 o Added missing header files -- lastlog.h, sgtty.h,
703 netipx/ipx.h, sys/perm.h
705 o Add rcmd support, i.e. rsh, rlogin, etc.
706 o Fix rcmd to avoid alloca, which is dangerous
708 spudmonkey@racsa.co.cr:
709 o Eliminate a buffer overflow in the shared library loader
711 o Enable support for Unix98 PTYs, and add option
712 to disable old style PTYs.