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