3 See Changelog.full for the complete list of who did what.
7 I have always reserved the right to make binary incompatible changes as
8 needed prior to the "1.0" release. This release is a good example of
9 that. A few bugs turned up that needed to be fixed and the only good way
10 to fix them was to change some fundamental data structure sizes. So I did
11 just that. As a result, this release is _NOT_ binary compatible with
12 earlier releases -- you will need to recompile your applications.
17 o fixed a number of shared library loader bugs
18 o setjmp, longjmp, clone, and vfork cleanups for the SH architecture
19 o Don't build the config system with ncurses unless asked to
21 o cris architecture updates
23 o Changed 'struct stat' and 'struct stat64' so they use types that
24 are consistant with use elsewhere in the library. Without this,
25 subtle bugs would occur due to comparing signed and unsigned
26 types (for example, GNU tar wouldn't work)
27 o Fixed dlopen so it works with staticly linked apps
28 o Fixed sigaction on arm architecture so sa_restorer works properly
29 o Fixed sigaction on x86 architecture for (fixed debugging threads)
30 o Fixed a wide char related segfault in the regular expression code
31 o Powerpc pread and pwrite are now implemented correctly
32 o Powerpc syscall mechanism reimplemented
33 o Sparc architecture and syscall mechanism fixed up so things compile
34 o usershell reimplemented
35 o Fixed global destructors for staticly linked applications
36 o Added dynamic atexit support (needed for full C++ ctor/dtor support)
37 o The ldd utility now acts more like the GNU utility
38 o Added a stub libnsl library to make stupid configure scripts bahave
39 o Always build crt1.o as well as crt0.o to minimize the need to mess
41 o Rewrote powerpc crt0.S to properly handle ctors/dtors
42 o Removed unimplemented and legacy stuff from our header files to
43 make configure behave better
44 o Made the lib loader also support libs in /usr/X11R6/lib by default
45 o Config system updates
46 o networking function updates
47 o Large file support updates
48 o Lots of other little bug fixes and cleanups
52 o Fixed pthread_mutex_lock and pthread_mutex_unlock so they
53 actually work as advertised on mips
54 o Fixed several nasty pthread bugs fixing debugging
56 o Fixed potential segfaults during 'make menuconfig'
58 o Fixed a subtle problem in the DNS resolver that prevented
59 uncompressed DNS lookup responses from working
61 o Fixed pclose error handling
63 o fixed the problem where arm binaries would crash on start
64 that Erik stupidly caused right before the last release.
66 o Major locale support update!
67 o Allow people to use pregenerated locale data instead of generating
68 approx 40Mb of glibc locales to get the 300+ locales currently
70 o locale dependent collation support
71 o Fixed locale support tools to work when cross-compiling
72 o Added the *wprintf functions
73 o Added the wcsto{inttype} functions
74 o Added iconv() and a mini iconv utility
75 o Added hsearch and hsearch_r
76 o Fixed a silly bug allowing wprintf %s to work correctly.
77 o Fixed fdopen when used with "a" (append).
78 o Fixed stdio file position handing to be sure fell() always
81 o Fixed a buffer overflow in getlogin_r
83 o Hitachi h8300 architecture update
85 o Powerpc shared library relocation fixes
91 0.9.16 8 November 2002
93 See Changelog.full for the complete list of who did what.
96 o CRIS architecture and shared library support from Tobias Anderberg
97 o New uClibc configuration system
98 o shared library global constructors and destructors initialization
99 ordering fixed by Stefan Allius
100 o More SuperH architecture fixes from Stefan Allius
101 o uClibc now compiles with newer versions of gcc (i.e. RedHat 8.0)
102 o uClibc no longer requires perl to compile
103 o mips dlopen was fixed by Steven J. Hill
104 o pty and tty handling fixes
105 o Manuel Novoa added support for a new /etc/TZ file for globally
106 setting the system timezone.
107 o Manuel also fixed up a number of remaining wide char issues.
108 o Lots of other little bug fixes and cleanups
114 0.9.15 27 August 2002
116 This is a minor bugfix release.
118 See Changelog.full for the complete list of who did what.
120 o Eliminated the HAS_LONG_LONG option. gcc always supports
121 long long, and the option never excluded all long long anyways.
122 o ctype.h no longer allows multiple argument evaluation in
123 compliance with ANSI/ISO C99
124 o Obscure printf fixes -- one involving %o and one involving %f.
125 o Bugfixes for locking and reentrance in password/group functions
126 o Directly use kernel types for most items, eliminating needless
127 translation and fixing several bugs.
128 o Directly use kernel struct stat -- no more translating
129 o More superH (sh) architecture merging from Stefan Allius
130 o Errno values and strerror are now correct on alpha, sparc, and mips
131 o Fixed an obscure bug with fclose when custom streams are enabled.
132 o Lots of other little bug fixes and cleanups
138 0.9.14 12 August 2002
140 This is a minor bugfix release.
142 See Changelog.full for the complete list of who did what.
144 o Fix a compile error when RPC and Pthread support
146 o Eliminate duplicate define warnings in wstring.c.
147 o Fix potentially broken preprocessor comparisons.
148 o Erik was an idiot and broke thread locking in exit(),
149 atexit() and friends. Fix that.
150 o Fix the gcc wrapper to use crtbeginS.o and crtendS.o when
151 compiling PIC code (crtbegin.o and crtend.o) otherwise.
161 o There was an off-by-one buffer overflow in the group
162 handling code, fix thanks to Joseph Chiu.
163 o There was an integer overflow bug in calloc, per
164 http://online.securityfocus.com/bid/5398
165 o There was an integer overflow bug in the xdr_array
166 RPC code, per http://online.securityfocus.com/bid/5356
168 See Changelog.full for the complete list of who did what.
170 o Add full shared library support for Hitachi SuperH (sh)
171 thanks to Stefan Allius and Edie C. Dost
172 o Lots of reentrance cleanups (we should now be fully
173 reentrant when compiled with pthread support).
174 o Miles Bader implemented a new mmap based malloc which is much
175 smarter than the old "malloc-simple", and actually works, unlike
176 the old "malloc". This is now the default for mmu-less systems
177 and should greatly help reduce memory fragmentation and wastage.
178 o Reworked syscall handling for i386 and ARM, smaller and cleaner.
179 o Support for the syscall() function on i386 and ARM
180 o The uClibc g++ wrapper now automagically adds the proper include
181 search path and and libraries.
182 o Lots of shared library loader updates
183 o dlopen'd shred libraries not properly run destructors
184 when ctor/dtor support is enabled
185 o pread/pwrite/pread64/pwrite64 now all work as expected
186 o Lots and lots of other bug fixes and cleanups.
195 See Changelog.full for the complete list of who did what.
197 o Add full shared library support for mips (big and little
198 endian), thanks to a lot of hard work from Steven J. Hill
199 o i960 architecture support, thanks to Martin Proulx
200 o An initial alpha port (works, but needs some cleanup)
201 o Fixes shared library support for powerpc
202 o Fixes for mmu-less systems
203 o Much improved thread locking and reentrance.
204 o More gcc wrapper updates. XFree86 really does link
205 this time around. It still didn't last time.
206 o Libcrypt now passes conformance tests
207 o Nearly complete locale supporti thanks to a lot
208 of hard work by Manuel Novoa III. This stuff is
209 _way_ smaller than glibc's
210 o Completely new time handling functions also by Manuel
211 o Lots of other bug fixes and cleanups.
223 o Much better large file support
224 o Several gcc wrapper bug fixes, so things like iproute2 and
225 XFree86 should now link properly.
226 o Fixes a stdio thread locking bug that could cause random
227 deadlocks on s*printf calls when threading was enabled.
230 o Added a generic implementation of truncate64.c and ftruncate64.c
231 o Added missing creat64, glob64, mkstemp64, getrlimit64, setrlimit64
232 o Removed internal erroneous use of __USE_FILE_OFFSET64
233 o Made libpthread compile on sparc and powerpc
234 o Made libpthread soname and symlinks match the other libraries.
235 o Added finite() to the C89 math lib, since some math functions use it.
236 o Added missing function pointer to error.c (some apps wanted it)
237 o Fixed initfini build for arches where gcc tries to be sneaky
238 o Fixed m68k/bits/setjmp.h which I has broken in the last release.
239 o Fixed a buffer overflow in the dynamic library loader
240 o Fixed a stdio thread locking bug that could cause random
241 deadlocks on s*printf calls when threading was enabled.
242 o Implemented sqrtf(), needed for libstdc++ on arm
244 o Make clean fixes to not blindly wipe all symlinks
245 o Re-enabled clnt_perror()
246 o Re-implemented swab()
248 o Many updates to the uClibc Working Application List
250 o Many updates to the mips dynamic loader. Not yet working but
251 getting very close now.
252 o Fixed locking bug in getttyent()
253 o Support libpthread on mips
255 o Fixed several bugs in utmp code (pututline was only writing the
256 first sizeof-a-pointer bytes to the utmpfile).
257 o setutent() was only opening utmp readonly.
259 o Fixed a silly typing problem with the getuid syscall.
261 o Fixed stdio FILE read/write auto-transition bugs.
262 o Better stdio errno handling
263 o Changed setvbuf() to more closely match glibc's behavior
264 o Fixed getpass() to not echo passwords to the console
265 o Fixed locale ISblank flag.
266 o Fixed an arg promotion handling bug in _do_one_spec for %c reported
271 o Fixed h8300 architecture support for pthreads and changes to
274 o Made powerpc assembly code PIC-compatible
275 o Removed powerpc R_PPC_REL24 handling, since it was deceptively useless.
277 o Several types on powerpc, such as dev_t, are different than on other
278 architectures. John spotted this, which fixed a _ton_ of problems since
279 anything calling stat() was previously broken.
281 o Eliminated use of alarm() from the DNS resolver by converting
282 it to use select instead (much cleaner).
294 o pthreads support (derived from glibc 2.1.3's linuxthreads library)
295 by Stefan Soucek and Erik Andersen
296 o pthreads support for MMU-less systems, by Stefan Soucek
297 o Complete rewrite of all stdio functions for standards compliance,
298 small size, pthreads support, wide/narrow stream support, large
299 file support, unbuffered support, etc, etc by Manuel Novoa III
300 o gcc wrapper reworked by Erik Andersen. Now operated correctly in
301 all known cases, and now wraps g++ as well for C++ support.
302 o constructor/destructor support, for C++ by Erik Andersen.
303 o Eliminated duplicate include/bits header files, by Erik Andersen.
304 Now all common include/bits headers are grouped together.
308 o Lots of changes and improvements to the shared library loader
309 o Cleaned up a piles of bugs
310 o Fixed a segfault when scandir was called on empty directories.
311 o Several syscalls added: pread/pwrite
312 o Makefile/build system cleanups
314 o pthreads support (with Stefan Soucek)
315 o Added ldexp to the C89 math library, per POSIX
316 o fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
318 o Reworked libcrypt to avoid leaking private symbols into the namespace
319 o Added strtof(), strtold(), updwtmp(), strptime()
320 o Fix ldso build for older arm cross compilers
323 o fixed gcc wrapper handling of -M* options
324 o Fixed truncate64/ftruncate64 to restrict them to 64-bit systems,
325 since we can't be sure that the _syscall macros can cope with 64
326 bit args on 32 bit arches.
327 o Large File support on the v850
328 o Fixed v850 headers after Erik messed them up
329 o Eliminate include/features.h namespace pollution
331 o Fixed pthread support for SH, and fixed SH vfork as well
332 o Fixed SH headers after Erik messed them up
334 o Mips architecture cleanups. Now works perfectly
335 with busybox, vi, ash, etc...
336 o Merged in the random number support (rand, srand, etc) from glibc.
338 o Fixes DNS resolver bug from 0.9.9
340 o Fixed build to support both mips and mipsel
341 o Beginnings of a mips ldso port
343 o Support for gnu error() functions
345 o Coldfire platform updates: clone, setjmp
346 o Fixed simple malloc to work on systems with an MMU
348 o Rewrote all stdio functions for standards compliance, small size,
349 pthreads support, wide/narrow stream support, large file support,
350 unbuffered support, etc, etc, etc.
351 o Rewrote the various string to int functions to be smaller, more
352 standards compilant, and reduce dependance on libgcc.a.
354 o ptrace for the Hitachi h8300 fix
356 o Debian packaging updates
357 o Check for proper 16-byte aliged stack pointer on powerpc
359 o pthreads support for MMU-less systems
360 o pthreads support (with Erik Andersen)
362 o Rewrote strcasecmp() per SUSv2.
364 o Added missing IPV6 support and reentrant networking function
365 additions so iptables now runs with IPV6 support.
372 0.9.9 February 4, 2002
375 o A bunch of doc updates. Major update to the working
377 o Added a configurator script (extra/Configs/uClibc_config_fix.pl)
378 which can simplify configuring uClibc.
379 o Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
380 Hitting ^C in ash kills client apps now, not ash.
381 o Reworked signal handling code so it now passes POSIX
383 o Fixed sleep and usleep to work correctly when
384 interrupted by signals.
385 o Made getopt behave the same when staticly linking
386 as when dynamicly linking. It was using different
387 implementations depending on how apps were linked.
388 o Added missing inttypes.h header file
389 o Eliminate all C++ style comments from header files
390 o Support statvfs and statfs
391 o Support getmntent_r
392 o Scandir and scandir64 were calling malloc without
394 o Fixed stpcpy function declaration
395 o Many large file support improvements.
396 o Fixed fcntl to work when DOLFS is enabled
397 o Fixed termios code to do the Right Thing(tm)
398 o Allow regex to be excluded at compile time
399 o Implemented mempcpy
400 o Build ldd and readelf for the target system and for the
402 o Fix several cases where get-needed-libgcc-objects.sh
403 could fail, breaking the shared uClibc library.
404 o Include all shared library loader objects into a
405 single C file, thereby reducing its size further.
406 o Reworked the shared library linking process to be more
407 flexible so that gcc and ld can more easily be built to
408 target uClibc library.
409 o Better error checking in the Makefiles. Be more pedantic
410 about tar, chmod, etc to avoid system dependent failures.
411 o We can now autodetect the target architecture
412 o Hide references to wchar_t so GNU autoconf
413 configure scripts won't get confused and try to
414 enable wide char support.
415 o Fixed stdio.h so apps can use varargs.h if they want to.
416 o Added brk/sbrk support for ARM, powerpc, mips, and sparc
417 and set them to default to the much faster brk using malloc
418 o Added missing syscalls: get_kernel_syms, fcntl64,
419 fdatasync, sched_setparam, sched_getparam,
420 sched_setscheduler, sched_getscheduler,
421 sched_get_priority_max, sched_get_priority_min,
422 sched_rr_get_interval, sigaltstack, sendfile,
423 pivot_root, sigsuspend, setfsuid, and setfsgid
424 o Force DOPIC be true when HAVE_SHARED is true.
426 o Implemented gethostent(), sethostent(), and endhostent()
427 o Added arch specific support so that sparc and mips actually
430 o Fixes for the v850 architecture: crt0, setjmp,
431 arch autodetection, etc.
432 o Fixed `make install' to not build ldso stuff on
433 non-shared-library systems.
435 o Allow the gcc wrapper to support setting DEVEL_PREFIX
436 and BUILD_DIR at runtime (no more need to recompile).
437 M. R. Brown and Erik Andersen:
438 o Fixed the SH port so it now works. Tested and shown
439 working on an SH4 Dreamcast system.
441 o Made 'make clean' remove generated bits/syscall.h
443 o SH architecture updates. Added brk, sbrk,
444 o Fixed simple malloc to work on systems with an MMU
445 o Taught getutent to return NULL if utmp doesn't exist.
446 o Added insque/remque support
447 o Fixed DNS resolver version number so apps won't get
448 confused and use the wrong API.
449 o Added Config selectable shadow password support
451 o Contributed support for the Hitach H8/300H architecture
453 o Add support for inet_netof, inet_lnaof, inet_makeaddr
456 o Added libstrip, a nifty script to automagically
457 strip unneeded content from the uClibc shared
460 o Added getw() and putw()
461 o Added missing header files -- lastlog.h, sgtty.h,
462 netipx/ipx.h, sys/perm.h
464 o Add rcmd support, i.e. rsh, rlogin, etc.
465 o Fix rcmd to avoid alloca, which is dangerous
467 spudmonkey@racsa.co.cr:
468 o Eliminate a buffer overflow in the shared library loader
470 o Enable support for Unix98 PTYs, and add option
471 to disable old style PTYs.