4 o There was an off-by-one buffer overflow in the group
5 handling code, fix thanks to Joseph Chiu.
6 o There was an integer overflow bug in calloc, per
7 http://online.securityfocus.com/bid/5398
8 o There was an integer overflow bug in the xdr_array
9 RPC code, per http://online.securityfocus.com/bid/5356
11 See Changelog.full for the complete list of who did what.
13 o Add full shared library support for Hitachi SuperH (sh)
14 thanks to Stefan Allius and Edie C. Dost
15 o Lots of reentrance cleanups (we should now be fully
16 reentrant when compiled with pthread support).
17 o Miles Bader implemented a new mmap based malloc which is much
18 smarter than the old "malloc-simple", and actually works, unlike
19 the old "malloc". This is now the default for mmu-less systems
20 and should greatly help reduce memory fragmentation and wastage.
21 o Reworked syscall handling for i386 and ARM, smaller and cleaner.
22 o Support for the syscall() function on i386 and ARM
23 o The uClibc g++ wrapper now automagically adds the proper include
24 search path and and libraries.
25 o Lots of shared library loader updates
26 o dlopen'd shred libraries not properly run destructors
27 when ctor/dtor support is enabled
28 o pread/pwrite/pread64/pwrite64 now all work as expected
29 o Lots and lots of other bug fixes and cleanups.
38 See Changelog.full for the complete list of who did what.
40 o Add full shared library support for mips (big and little
41 endian), thanks to a lot of hard work from Steven J. Hill
42 o i960 architecture support, thanks to Martin Proulx
43 o An initial alpha port (works, but needs some cleanup)
44 o Fixes shared library support for powerpc
45 o Fixes for mmu-less systems
46 o Much improved thread locking and reentrance.
47 o More gcc wrapper updates. XFree86 really does link
48 this time around. It still didn't last time.
49 o Libcrypt now passes conformance tests
50 o Nearly complete locale supporti thanks to a lot
51 of hard work by Manuel Novoa III. This stuff is
52 _way_ smaller than glibc's
53 o Completely new time handling functions also by Manuel
54 o Lots of other bug fixes and cleanups.
66 o Much better large file support
67 o Several gcc wrapper bug fixes, so things like iproute2 and
68 XFree86 should now link properly.
69 o Fixes a stdio thread locking bug that could cause random
70 deadlocks on s*printf calls when threading was enabled.
73 o Added a generic implementation of truncate64.c and ftruncate64.c
74 o Added missing creat64, glob64, mkstemp64, getrlimit64, setrlimit64
75 o Removed internal erroneous use of __USE_FILE_OFFSET64
76 o Made libpthread compile on sparc and powerpc
77 o Made libpthread soname and symlinks match the other libraries.
78 o Added finite() to the C89 math lib, since some math functions use it.
79 o Added missing function pointer to error.c (some apps wanted it)
80 o Fixed initfini build for arches where gcc tries to be sneaky
81 o Fixed m68k/bits/setjmp.h which I has broken in the last release.
82 o Fixed a buffer overflow in the dynamic library loader
83 o Fixed a stdio thread locking bug that could cause random
84 deadlocks on s*printf calls when threading was enabled.
85 o Implemented sqrtf(), needed for libstdc++ on arm
87 o Make clean fixes to not blindly wipe all symlinks
88 o Re-enabled clnt_perror()
89 o Re-implemented swab()
91 o Many updates to the uClibc Working Application List
93 o Many updates to the mips dynamic loader. Not yet working but
94 getting very close now.
95 o Fixed locking bug in getttyent()
96 o Support libpthread on mips
98 o Fixed several bugs in utmp code (pututline was only writing the
99 first sizeof-a-pointer bytes to the utmpfile).
100 o setutent() was only opening utmp readonly.
102 o Fixed a silly typing problem with the getuid syscall.
104 o Fixed stdio FILE read/write auto-transition bugs.
105 o Better stdio errno handling
106 o Changed setvbuf() to more closely match glibc's behavior
107 o Fixed getpass() to not echo passwords to the console
108 o Fixed locale ISblank flag.
109 o Fixed an arg promotion handling bug in _do_one_spec for %c reported
114 o Fixed h8300 architecture support for pthreads and changes to
117 o Made powerpc assembly code PIC-compatible
118 o Removed powerpc R_PPC_REL24 handling, since it was deceptively useless.
120 o Several types on powerpc, such as dev_t, are different than on other
121 architectures. John spotted this, which fixed a _ton_ of problems since
122 anything calling stat() was previously broken.
124 o Eliminated use of alarm() from the DNS resolver by converting
125 it to use select instead (much cleaner).
137 o pthreads support (derived from glibc 2.1.3's linuxthreads library)
138 by Stefan Soucek and Erik Andersen
139 o pthreads support for MMU-less systems, by Stefan Soucek
140 o Complete rewrite of all stdio functions for standards compliance,
141 small size, pthreads support, wide/narrow stream support, large
142 file support, unbuffered support, etc, etc by Manuel Novoa III
143 o gcc wrapper reworked by Erik Andersen. Now operated correctly in
144 all known cases, and now wraps g++ as well for C++ support.
145 o constructor/destructor support, for C++ by Erik Andersen.
146 o Eliminated duplicate include/bits header files, by Erik Andersen.
147 Now all common include/bits headers are grouped together.
151 o Lots of changes and improvements to the shared library loader
152 o Cleaned up a piles of bugs
153 o Fixed a segfault when scandir was called on empty directories.
154 o Several syscalls added: pread/pwrite
155 o Makefile/build system cleanups
157 o pthreads support (with Stefan Soucek)
158 o Added ldexp to the C89 math library, per POSIX
159 o fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
161 o Reworked libcrypt to avoid leaking private symbols into the namespace
162 o Added strtof(), strtold(), updwtmp(), strptime()
163 o Fix ldso build for older arm cross compilers
166 o fixed gcc wrapper handling of -M* options
167 o Fixed truncate64/ftruncate64 to restrict them to 64-bit systems,
168 since we can't be sure that the _syscall macros can cope with 64
169 bit args on 32 bit arches.
170 o Large File support on the v850
171 o Fixed v850 headers after Erik messed them up
172 o Eliminate include/features.h namespace pollution
174 o Fixed pthread support for SH, and fixed SH vfork as well
175 o Fixed SH headers after Erik messed them up
177 o Mips architecture cleanups. Now works perfectly
178 with busybox, vi, ash, etc...
179 o Merged in the random number support (rand, srand, etc) from glibc.
181 o Fixes DNS resolver bug from 0.9.9
183 o Fixed build to support both mips and mipsel
184 o Beginnings of a mips ldso port
186 o Support for gnu error() functions
188 o Coldfire platform updates: clone, setjmp
189 o Fixed simple malloc to work on systems with an MMU
191 o Rewrote all stdio functions for standards compliance, small size,
192 pthreads support, wide/narrow stream support, large file support,
193 unbuffered support, etc, etc, etc.
194 o Rewrote the various string to int functions to be smaller, more
195 standards compilant, and reduce dependance on libgcc.a.
197 o ptrace for the Hitachi h8300 fix
199 o Debian packaging updates
200 o Check for proper 16-byte aliged stack pointer on powerpc
202 o pthreads support for MMU-less systems
203 o pthreads support (with Erik Andersen)
205 o Rewrote strcasecmp() per SUSv2.
207 o Added missing IPV6 support and reentrant networking function
208 additions so iptables now runs with IPV6 support.
215 0.9.9 February 4, 2002
218 o A bunch of doc updates. Major update to the working
220 o Added a configurator script (extra/Configs/uClibc_config_fix.pl)
221 which can simplify configuring uClibc.
222 o Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
223 Hitting ^C in ash kills client apps now, not ash.
224 o Reworked signal handling code so it now passes POSIX
226 o Fixed sleep and usleep to work correctly when
227 interrupted by signals.
228 o Made getopt behave the same when staticly linking
229 as when dynamicly linking. It was using different
230 implementations depending on how apps were linked.
231 o Added missing inttypes.h header file
232 o Eliminate all C++ style comments from header files
233 o Support statvfs and statfs
234 o Support getmntent_r
235 o Scandir and scandir64 were calling malloc without
237 o Fixed stpcpy function declaration
238 o Many large file support improvements.
239 o Fixed fcntl to work when DOLFS is enabled
240 o Fixed termios code to do the Right Thing(tm)
241 o Allow regex to be excluded at compile time
242 o Implemented mempcpy
243 o Build ldd and readelf for the target system and for the
245 o Fix several cases where get-needed-libgcc-objects.sh
246 could fail, breaking the shared uClibc library.
247 o Include all shared library loader objects into a
248 single C file, thereby reducing its size further.
249 o Reworked the shared library linking process to be more
250 flexible so that gcc and ld can more easily be built to
251 target uClibc library.
252 o Better error checking in the Makefiles. Be more pedantic
253 about tar, chmod, etc to avoid system dependent failures.
254 o We can now autodetect the target architecture
255 o Hide references to wchar_t so GNU autoconf
256 configure scripts won't get confused and try to
257 enable wide char support.
258 o Fixed stdio.h so apps can use varargs.h if they want to.
259 o Added brk/sbrk support for ARM, powerpc, mips, and sparc
260 and set them to default to the much faster brk using malloc
261 o Added missing syscalls: get_kernel_syms, fcntl64,
262 fdatasync, sched_setparam, sched_getparam,
263 sched_setscheduler, sched_getscheduler,
264 sched_get_priority_max, sched_get_priority_min,
265 sched_rr_get_interval, sigaltstack, sendfile,
266 pivot_root, sigsuspend, setfsuid, and setfsgid
267 o Force DOPIC be true when HAVE_SHARED is true.
269 o Implemented gethostent(), sethostent(), and endhostent()
270 o Added arch specific support so that sparc and mips actually
273 o Fixes for the v850 architecture: crt0, setjmp,
274 arch autodetection, etc.
275 o Fixed `make install' to not build ldso stuff on
276 non-shared-library systems.
278 o Allow the gcc wrapper to support setting DEVEL_PREFIX
279 and BUILD_DIR at runtime (no more need to recompile).
280 M. R. Brown and Erik Andersen:
281 o Fixed the SH port so it now works. Tested and shown
282 working on an SH4 Dreamcast system.
284 o Made 'make clean' remove generated bits/syscall.h
286 o SH architecture updates. Added brk, sbrk,
287 o Fixed simple malloc to work on systems with an MMU
288 o Taught getutent to return NULL if utmp doesn't exist.
289 o Added insque/remque support
290 o Fixed DNS resolver version number so apps won't get
291 confused and use the wrong API.
292 o Added Config selectable shadow password support
294 o Contributed support for the Hitach H8/300H architecture
296 o Add support for inet_netof, inet_lnaof, inet_makeaddr
299 o Added libstrip, a nifty script to automagically
300 strip unneeded content from the uClibc shared
303 o Added getw() and putw()
304 o Added missing header files -- lastlog.h, sgtty.h,
305 netipx/ipx.h, sys/perm.h
307 o Add rcmd support, i.e. rsh, rlogin, etc.
308 o Fix rcmd to avoid alloca, which is dangerous
310 spudmonkey@racsa.co.cr:
311 o Eliminate a buffer overflow in the shared library loader
313 o Enable support for Unix98 PTYs, and add option
314 to disable old style PTYs.