3 See Changelog.full for the complete list of who did what.
6 This release remains binary compatible with 0.9.18 (except
7 for mips, but then mips was unusable in stock 0.9.18 anyways).
12 o Some Makefile and warning fixes
14 o Fixed gcc wrapper handling of ctor/dtor stuff when used in
15 with and w/o the nostdinc and nostdlib options
17 o Fixed a number of system call kernel type/user type translation
18 problems that scrambed a handful of system calls.
19 o Fixup powerpc syscalls to eliminate warnings with gcc-3.2
20 o Fixed several ioctl special cases for powerpc
21 o Checked in forgotten mips kernel_types.h changes
22 o Fixed mips shared library loader bug that caused segfaults
23 o Major update to the pthreads library. Should improve performance.
24 o Fixed uClibc's shared library loader so we can properly debug
25 applications using pthreads (must use gdb 5.3 or newer which
26 was compiled using uClibc).
27 o Made uClibc's ldd act just the glibc provided one (i.e. relying
28 on the shared lib loader to do the work) when it is possible to
29 doi so, and only rummage about the ELF headers when we have no
30 other choice (such as when using 'ldd' on cross compiled stuff).
32 o header file updates for v850 architecture
33 o Fixed v850 crt0.S __uClibc_main argument stack space
35 o Fixed res_init() so it properly reloads /etc/resolv.conf
37 o Fixed ARM setjmp when floating point was disabled
39 o Removed debug (-g) when building crti.o and crtn.o, as
40 debug would mess up the build for SH4 and probably others.
41 o Fixed SH setjmp when floating point was enabled
50 0.9.18 12 February 2003
52 See Changelog.full for the complete list of who did what.
56 Once again, this release is _NOT_ binary compatible with earlier
57 releases. I _think this will be the last time (with the possible
58 exception of some future changes to our locale support...)
63 o fixed a compile problem when large file support was disabled
64 o fixed dlib_pic.o to compile with proper flags
65 o fixed a shared lib loader compile warning
66 o Made adding libgcc functions to uClibc optional
68 o Fixed scandir64 to not free the wrong pieces of memory
69 which caused segfaults
70 o Fixed mismatches between kernel and libc dirent structures
71 o Fixed mismatches between the size of uClibc's struct dirent
72 and struct dirent64 so that when _FILE_OFFSET_BITS=64 we
73 do not lose part of the filename
74 o Fixed getdents64.c so the build will not break when compiling
75 vs a 2.0.x Linux kernel when UCLIBC_HAS_LFS is enabled
76 o Create stub crti.o and crtn.o files when UCLIBC_CTOR_DTOR is disabled
77 o Fixed licenses for a few files that erroneously were listed as GPL
78 but were really LGPL after discussing with authors
79 o sigaction for x86 had an extra and unwanted sigaction syscall
80 o Fixed debugging of arm binaries by adding a .note.ABI-tag section
82 o header file updates for v850 architecture
83 o Fixed v850 clone syscall
85 o Fixed pthread_cond_timedwait to properly uses rt singals
88 o Added mips _flush_cache syscall
90 o Added m68k brk syscall
92 o Fixed pipe implementation for mips
101 0.9.17 25 January 2003
103 See Changelog.full for the complete list of who did what.
107 I have always reserved the right to make binary incompatible changes as
108 needed prior to the "1.0" release. This release is a good example of
109 that. A few bugs turned up that needed to be fixed and the only good way
110 to fix them was to change some fundamental data structure sizes. So I did
111 just that. As a result, this release is _NOT_ binary compatible with
112 earlier releases -- you will need to recompile your applications.
117 o fixed a number of shared library loader bugs
118 o setjmp, longjmp, clone, and vfork cleanups for the SH architecture
119 o Don't build the config system with ncurses unless asked to
121 o cris architecture updates
123 o Changed 'struct stat' and 'struct stat64' so they use types that
124 are consistant with use elsewhere in the library. Without this,
125 subtle bugs would occur due to comparing signed and unsigned
126 types (for example, GNU tar wouldn't work)
127 o Fixed dlopen so it works with staticly linked apps
128 o Fixed sigaction on arm architecture so sa_restorer works properly
129 o Fixed sigaction on x86 architecture for (fixed debugging threads)
130 o Fixed a wide char related segfault in the regular expression code
131 o Powerpc pread and pwrite are now implemented correctly
132 o Powerpc syscall mechanism reimplemented
133 o Sparc architecture and syscall mechanism fixed up so things compile
134 o usershell reimplemented
135 o Fixed global destructors for staticly linked applications
136 o Added dynamic atexit support (needed for full C++ ctor/dtor support)
137 o The ldd utility now acts more like the GNU utility
138 o Added a stub libnsl library to make stupid configure scripts bahave
139 o Always build crt1.o as well as crt0.o to minimize the need to mess
141 o Rewrote powerpc crt0.S to properly handle ctors/dtors
142 o Removed unimplemented and legacy stuff from our header files to
143 make configure behave better
144 o Made the lib loader also support libs in /usr/X11R6/lib by default
145 o Config system updates
146 o networking function updates
147 o Large file support updates
148 o Lots of other little bug fixes and cleanups
152 o Fixed pthread_mutex_lock and pthread_mutex_unlock so they
153 actually work as advertised on mips
154 o Fixed several nasty pthread bugs fixing debugging
156 o Fixed potential segfaults during 'make menuconfig'
158 o Fixed a subtle problem in the DNS resolver that prevented
159 uncompressed DNS lookup responses from working
161 o Fixed pclose error handling
163 o fixed the problem where arm binaries would crash on start
164 that Erik stupidly caused right before the last release.
166 o Major locale support update!
167 o Allow people to use pregenerated locale data instead of generating
168 approx 40Mb of glibc locales to get the 300+ locales currently
170 o locale dependent collation support
171 o Fixed locale support tools to work when cross-compiling
172 o Added the *wprintf functions
173 o Added the wcsto{inttype} functions
174 o Added iconv() and a mini iconv utility
175 o Added hsearch and hsearch_r
176 o Fixed a silly bug allowing wprintf %s to work correctly.
177 o Fixed fdopen when used with "a" (append).
178 o Fixed stdio file position handing to be sure fell() always
179 gives correct results
181 o Fixed a buffer overflow in getlogin_r
183 o Hitachi h8300 architecture update
185 o Powerpc shared library relocation fixes
191 0.9.16 8 November 2002
193 See Changelog.full for the complete list of who did what.
196 o CRIS architecture and shared library support from Tobias Anderberg
197 o New uClibc configuration system
198 o shared library global constructors and destructors initialization
199 ordering fixed by Stefan Allius
200 o More SuperH architecture fixes from Stefan Allius
201 o uClibc now compiles with newer versions of gcc (i.e. RedHat 8.0)
202 o uClibc no longer requires perl to compile
203 o mips dlopen was fixed by Steven J. Hill
204 o pty and tty handling fixes
205 o Manuel Novoa added support for a new /etc/TZ file for globally
206 setting the system timezone.
207 o Manuel also fixed up a number of remaining wide char issues.
208 o Lots of other little bug fixes and cleanups
214 0.9.15 27 August 2002
216 This is a minor bugfix release.
218 See Changelog.full for the complete list of who did what.
220 o Eliminated the HAS_LONG_LONG option. gcc always supports
221 long long, and the option never excluded all long long anyways.
222 o ctype.h no longer allows multiple argument evaluation in
223 compliance with ANSI/ISO C99
224 o Obscure printf fixes -- one involving %o and one involving %f.
225 o Bugfixes for locking and reentrance in password/group functions
226 o Directly use kernel types for most items, eliminating needless
227 translation and fixing several bugs.
228 o Directly use kernel struct stat -- no more translating
229 o More superH (sh) architecture merging from Stefan Allius
230 o Errno values and strerror are now correct on alpha, sparc, and mips
231 o Fixed an obscure bug with fclose when custom streams are enabled.
232 o Lots of other little bug fixes and cleanups
238 0.9.14 12 August 2002
240 This is a minor bugfix release.
242 See Changelog.full for the complete list of who did what.
244 o Fix a compile error when RPC and Pthread support
246 o Eliminate duplicate define warnings in wstring.c.
247 o Fix potentially broken preprocessor comparisons.
248 o Erik was an idiot and broke thread locking in exit(),
249 atexit() and friends. Fix that.
250 o Fix the gcc wrapper to use crtbeginS.o and crtendS.o when
251 compiling PIC code (crtbegin.o and crtend.o) otherwise.
261 o There was an off-by-one buffer overflow in the group
262 handling code, fix thanks to Joseph Chiu.
263 o There was an integer overflow bug in calloc, per
264 http://online.securityfocus.com/bid/5398
265 o There was an integer overflow bug in the xdr_array
266 RPC code, per http://online.securityfocus.com/bid/5356
268 See Changelog.full for the complete list of who did what.
270 o Add full shared library support for Hitachi SuperH (sh)
271 thanks to Stefan Allius and Edie C. Dost
272 o Lots of reentrance cleanups (we should now be fully
273 reentrant when compiled with pthread support).
274 o Miles Bader implemented a new mmap based malloc which is much
275 smarter than the old "malloc-simple", and actually works, unlike
276 the old "malloc". This is now the default for mmu-less systems
277 and should greatly help reduce memory fragmentation and wastage.
278 o Reworked syscall handling for i386 and ARM, smaller and cleaner.
279 o Support for the syscall() function on i386 and ARM
280 o The uClibc g++ wrapper now automagically adds the proper include
281 search path and and libraries.
282 o Lots of shared library loader updates
283 o dlopen'd shred libraries not properly run destructors
284 when ctor/dtor support is enabled
285 o pread/pwrite/pread64/pwrite64 now all work as expected
286 o Lots and lots of other bug fixes and cleanups.
295 See Changelog.full for the complete list of who did what.
297 o Add full shared library support for mips (big and little
298 endian), thanks to a lot of hard work from Steven J. Hill
299 o i960 architecture support, thanks to Martin Proulx
300 o An initial alpha port (works, but needs some cleanup)
301 o Fixes shared library support for powerpc
302 o Fixes for mmu-less systems
303 o Much improved thread locking and reentrance.
304 o More gcc wrapper updates. XFree86 really does link
305 this time around. It still didn't last time.
306 o Libcrypt now passes conformance tests
307 o Nearly complete locale supporti thanks to a lot
308 of hard work by Manuel Novoa III. This stuff is
309 _way_ smaller than glibc's
310 o Completely new time handling functions also by Manuel
311 o Lots of other bug fixes and cleanups.
323 o Much better large file support
324 o Several gcc wrapper bug fixes, so things like iproute2 and
325 XFree86 should now link properly.
326 o Fixes a stdio thread locking bug that could cause random
327 deadlocks on s*printf calls when threading was enabled.
330 o Added a generic implementation of truncate64.c and ftruncate64.c
331 o Added missing creat64, glob64, mkstemp64, getrlimit64, setrlimit64
332 o Removed internal erroneous use of __USE_FILE_OFFSET64
333 o Made libpthread compile on sparc and powerpc
334 o Made libpthread soname and symlinks match the other libraries.
335 o Added finite() to the C89 math lib, since some math functions use it.
336 o Added missing function pointer to error.c (some apps wanted it)
337 o Fixed initfini build for arches where gcc tries to be sneaky
338 o Fixed m68k/bits/setjmp.h which I has broken in the last release.
339 o Fixed a buffer overflow in the dynamic library loader
340 o Fixed a stdio thread locking bug that could cause random
341 deadlocks on s*printf calls when threading was enabled.
342 o Implemented sqrtf(), needed for libstdc++ on arm
344 o Make clean fixes to not blindly wipe all symlinks
345 o Re-enabled clnt_perror()
346 o Re-implemented swab()
348 o Many updates to the uClibc Working Application List
350 o Many updates to the mips dynamic loader. Not yet working but
351 getting very close now.
352 o Fixed locking bug in getttyent()
353 o Support libpthread on mips
355 o Fixed several bugs in utmp code (pututline was only writing the
356 first sizeof-a-pointer bytes to the utmpfile).
357 o setutent() was only opening utmp readonly.
359 o Fixed a silly typing problem with the getuid syscall.
361 o Fixed stdio FILE read/write auto-transition bugs.
362 o Better stdio errno handling
363 o Changed setvbuf() to more closely match glibc's behavior
364 o Fixed getpass() to not echo passwords to the console
365 o Fixed locale ISblank flag.
366 o Fixed an arg promotion handling bug in _do_one_spec for %c reported
371 o Fixed h8300 architecture support for pthreads and changes to
374 o Made powerpc assembly code PIC-compatible
375 o Removed powerpc R_PPC_REL24 handling, since it was deceptively useless.
377 o Several types on powerpc, such as dev_t, are different than on other
378 architectures. John spotted this, which fixed a _ton_ of problems since
379 anything calling stat() was previously broken.
381 o Eliminated use of alarm() from the DNS resolver by converting
382 it to use select instead (much cleaner).
394 o pthreads support (derived from glibc 2.1.3's linuxthreads library)
395 by Stefan Soucek and Erik Andersen
396 o pthreads support for MMU-less systems, by Stefan Soucek
397 o Complete rewrite of all stdio functions for standards compliance,
398 small size, pthreads support, wide/narrow stream support, large
399 file support, unbuffered support, etc, etc by Manuel Novoa III
400 o gcc wrapper reworked by Erik Andersen. Now operated correctly in
401 all known cases, and now wraps g++ as well for C++ support.
402 o constructor/destructor support, for C++ by Erik Andersen.
403 o Eliminated duplicate include/bits header files, by Erik Andersen.
404 Now all common include/bits headers are grouped together.
408 o Lots of changes and improvements to the shared library loader
409 o Cleaned up a piles of bugs
410 o Fixed a segfault when scandir was called on empty directories.
411 o Several syscalls added: pread/pwrite
412 o Makefile/build system cleanups
414 o pthreads support (with Stefan Soucek)
415 o Added ldexp to the C89 math library, per POSIX
416 o fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
418 o Reworked libcrypt to avoid leaking private symbols into the namespace
419 o Added strtof(), strtold(), updwtmp(), strptime()
420 o Fix ldso build for older arm cross compilers
423 o fixed gcc wrapper handling of -M* options
424 o Fixed truncate64/ftruncate64 to restrict them to 64-bit systems,
425 since we can't be sure that the _syscall macros can cope with 64
426 bit args on 32 bit arches.
427 o Large File support on the v850
428 o Fixed v850 headers after Erik messed them up
429 o Eliminate include/features.h namespace pollution
431 o Fixed pthread support for SH, and fixed SH vfork as well
432 o Fixed SH headers after Erik messed them up
434 o Mips architecture cleanups. Now works perfectly
435 with busybox, vi, ash, etc...
436 o Merged in the random number support (rand, srand, etc) from glibc.
438 o Fixes DNS resolver bug from 0.9.9
440 o Fixed build to support both mips and mipsel
441 o Beginnings of a mips ldso port
443 o Support for gnu error() functions
445 o Coldfire platform updates: clone, setjmp
446 o Fixed simple malloc to work on systems with an MMU
448 o Rewrote all stdio functions for standards compliance, small size,
449 pthreads support, wide/narrow stream support, large file support,
450 unbuffered support, etc, etc, etc.
451 o Rewrote the various string to int functions to be smaller, more
452 standards compilant, and reduce dependance on libgcc.a.
454 o ptrace for the Hitachi h8300 fix
456 o Debian packaging updates
457 o Check for proper 16-byte aliged stack pointer on powerpc
459 o pthreads support for MMU-less systems
460 o pthreads support (with Erik Andersen)
462 o Rewrote strcasecmp() per SUSv2.
464 o Added missing IPV6 support and reentrant networking function
465 additions so iptables now runs with IPV6 support.
472 0.9.9 February 4, 2002
475 o A bunch of doc updates. Major update to the working
477 o Added a configurator script (extra/Configs/uClibc_config_fix.pl)
478 which can simplify configuring uClibc.
479 o Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
480 Hitting ^C in ash kills client apps now, not ash.
481 o Reworked signal handling code so it now passes POSIX
483 o Fixed sleep and usleep to work correctly when
484 interrupted by signals.
485 o Made getopt behave the same when staticly linking
486 as when dynamicly linking. It was using different
487 implementations depending on how apps were linked.
488 o Added missing inttypes.h header file
489 o Eliminate all C++ style comments from header files
490 o Support statvfs and statfs
491 o Support getmntent_r
492 o Scandir and scandir64 were calling malloc without
494 o Fixed stpcpy function declaration
495 o Many large file support improvements.
496 o Fixed fcntl to work when DOLFS is enabled
497 o Fixed termios code to do the Right Thing(tm)
498 o Allow regex to be excluded at compile time
499 o Implemented mempcpy
500 o Build ldd and readelf for the target system and for the
502 o Fix several cases where get-needed-libgcc-objects.sh
503 could fail, breaking the shared uClibc library.
504 o Include all shared library loader objects into a
505 single C file, thereby reducing its size further.
506 o Reworked the shared library linking process to be more
507 flexible so that gcc and ld can more easily be built to
508 target uClibc library.
509 o Better error checking in the Makefiles. Be more pedantic
510 about tar, chmod, etc to avoid system dependent failures.
511 o We can now autodetect the target architecture
512 o Hide references to wchar_t so GNU autoconf
513 configure scripts won't get confused and try to
514 enable wide char support.
515 o Fixed stdio.h so apps can use varargs.h if they want to.
516 o Added brk/sbrk support for ARM, powerpc, mips, and sparc
517 and set them to default to the much faster brk using malloc
518 o Added missing syscalls: get_kernel_syms, fcntl64,
519 fdatasync, sched_setparam, sched_getparam,
520 sched_setscheduler, sched_getscheduler,
521 sched_get_priority_max, sched_get_priority_min,
522 sched_rr_get_interval, sigaltstack, sendfile,
523 pivot_root, sigsuspend, setfsuid, and setfsgid
524 o Force DOPIC be true when HAVE_SHARED is true.
526 o Implemented gethostent(), sethostent(), and endhostent()
527 o Added arch specific support so that sparc and mips actually
530 o Fixes for the v850 architecture: crt0, setjmp,
531 arch autodetection, etc.
532 o Fixed `make install' to not build ldso stuff on
533 non-shared-library systems.
535 o Allow the gcc wrapper to support setting DEVEL_PREFIX
536 and BUILD_DIR at runtime (no more need to recompile).
537 M. R. Brown and Erik Andersen:
538 o Fixed the SH port so it now works. Tested and shown
539 working on an SH4 Dreamcast system.
541 o Made 'make clean' remove generated bits/syscall.h
543 o SH architecture updates. Added brk, sbrk,
544 o Fixed simple malloc to work on systems with an MMU
545 o Taught getutent to return NULL if utmp doesn't exist.
546 o Added insque/remque support
547 o Fixed DNS resolver version number so apps won't get
548 confused and use the wrong API.
549 o Added Config selectable shadow password support
551 o Contributed support for the Hitach H8/300H architecture
553 o Add support for inet_netof, inet_lnaof, inet_makeaddr
556 o Added libstrip, a nifty script to automagically
557 strip unneeded content from the uClibc shared
560 o Added getw() and putw()
561 o Added missing header files -- lastlog.h, sgtty.h,
562 netipx/ipx.h, sys/perm.h
564 o Add rcmd support, i.e. rsh, rlogin, etc.
565 o Fix rcmd to avoid alloca, which is dangerous
567 spudmonkey@racsa.co.cr:
568 o Eliminate a buffer overflow in the shared library loader
570 o Enable support for Unix98 PTYs, and add option
571 to disable old style PTYs.