0.9.10 21 March 2002
Major new features:
o pthreads support (derived from glibc 2.1.3's linuxthreads library)
by Stefan Soucek and Erik Andersen
o pthreads support for MMU-less systems, by Stefan Soucek
o Complete rewrite of all stdio functions for standards compliance,
small size, pthreads support, wide/narrow stream support, large
file support, unbuffered support, etc, etc by Manuel Novoa III
o gcc wrapper reworked by Erik Andersen. Now operated correctly in
all known cases, and now wraps g++ as well for C++ support.
o constructor/destructor support, for C++ by Erik Andersen.
o Eliminated duplicate include/bits header files, by Erik Andersen.
Now all common include/bits headers are grouped together.
o Lots of changes and improvements to the shared library loader
o Cleaned up a piles of bugs
o Fixed a segfault when scandir was called on empty directories.
o Several syscalls added: pread/pwrite
o Makefile/build system cleanups
o Sighandling fixes
o pthreads support (with Stefan Soucek)
o Added ldexp to the C89 math library, per POSIX
o fclose() EINTR handling is now correct per IEEE Std 1003.1-2001
o Support isblank()
o Reworked libcrypt to avoid leaking private symbols into the namespace
o Added strtof(), strtold(), updwtmp(), strptime()
o Fix ldso build for older arm cross compilers
o atexit cleanups
o fixed gcc wrapper handling of -M* options
o Fixed truncate64/ftruncate64 to restrict them to 64-bit systems,
since we can't be sure that the _syscall macros can cope with 64
bit args on 32 bit arches.
o Large File support on the v850
o Fixed v850 headers after Erik messed them up
o Eliminate include/features.h namespace pollution
M. R. Brown:
o Fixed pthread support for SH, and fixed SH vfork as well
o Fixed SH headers after Erik messed them up
o Mips architecture cleanups. Now works perfectly
with busybox, vi, ash, etc...
o Merged in the random number support (rand, srand, etc) from glibc.
o Fixes DNS resolver bug from 0.9.9
Steven J. Hill:
o Fixed build to support both mips and mipsel
o Beginnings of a mips ldso port
o Support for gnu error() functions
o Coldfire platform updates: clone, setjmp
o Fixed simple malloc to work on systems with an MMU
Manuel Novoa III:
o Rewrote all stdio functions for standards compliance, small size,
pthreads support, wide/narrow stream support, large file support,
unbuffered support, etc, etc, etc.
o Rewrote the various string to int functions to be smaller, more
standards compilant, and reduce dependance on libgcc.a.
o ptrace for the Hitachi h8300 fix
o Debian packaging updates
o Check for proper 16-byte aliged stack pointer on powerpc
o pthreads support for MMU-less systems
o pthreads support (with Erik Andersen)
o Rewrote strcasecmp() per SUSv2.
o Added missing IPV6 support and reentrant networking function
additions so iptables now runs with IPV6 support.
0.9.9 February 4, 2002
o A bunch of doc updates. Major update to the working
o Added a configurator script (extra/Configs/uClibc_config_fix.pl)
which can simplify configuring uClibc.
o Fixed setjmp/longjmp on x86,arm,powerpc,mips,and sparc.
Hitting ^C in ash kills client apps now, not ash.
o Reworked signal handling code so it now passes POSIX
o Fixed sleep and usleep to work correctly when
interrupted by signals.
o Made getopt behave the same when staticly linking
as when dynamicly linking. It was using different
implementations depending on how apps were linked.
o Added missing inttypes.h header file
o Eliminate all C++ style comments from header files
o Support statvfs and statfs
o Support getmntent_r
o Scandir and scandir64 were calling malloc without
checking for ENOMEM
o Fixed stpcpy function declaration
o Many large file support improvements.
o Fixed fcntl to work when DOLFS is enabled
o Fixed termios code to do the Right Thing(tm)
o Allow regex to be excluded at compile time
o Implemented mempcpy
o Build ldd and readelf for the target system and for the
o Fix several cases where get-needed-libgcc-objects.sh
could fail, breaking the shared uClibc library.
o Include all shared library loader objects into a
single C file, thereby reducing its size further.
o Reworked the shared library linking process to be more
flexible so that gcc and ld can more easily be built to
target uClibc library.
o Better error checking in the Makefiles. Be more pedantic
about tar, chmod, etc to avoid system dependent failures.
o We can now autodetect the target architecture
o Hide references to wchar_t so GNU autoconf
configure scripts won't get confused and try to
enable wide char support.
o Fixed stdio.h so apps can use varargs.h if they want to.
o Added brk/sbrk support for ARM, powerpc, mips, and sparc
and set them to default to the much faster brk using malloc
o Added missing syscalls: get_kernel_syms, fcntl64,
fdatasync, sched_setparam, sched_getparam,
sched_rr_get_interval, sigaltstack, sendfile,
pivot_root, sigsuspend, setfsuid, and setfsgid
o Force DOPIC be true when HAVE_SHARED is true.
o Fixed hstrerror()
o Implemented gethostent(), sethostent(), and endhostent()
o Added arch specific support so that sparc and mips actually
compile and work
o Fixes for the v850 architecture: crt0, setjmp,
arch autodetection, etc.
o Fixed `make install' to not build ldso stuff on
Michael E Brown:
o Allow the gcc wrapper to support setting DEVEL_PREFIX
and BUILD_DIR at runtime (no more need to recompile).
M. R. Brown and Erik Andersen:
o Fixed the SH port so it now works. Tested and shown
working on an SH4 Dreamcast system.
o Made 'make clean' remove generated bits/syscall.h
o SH architecture updates. Added brk, sbrk,
o Fixed simple malloc to work on systems with an MMU
o Taught getutent to return NULL if utmp doesn't exist.
o Added insque/remque support
o Fixed DNS resolver version number so apps won't get
confused and use the wrong API.
o Added Config selectable shadow password support
o Contributed support for the Hitach H8/300H architecture
o Add support for inet_netof, inet_lnaof, inet_makeaddr
o Added libstrip, a nifty script to automagically
strip unneeded content from the uClibc shared
o Added getw() and putw()
o Added missing header files -- lastlog.h, sgtty.h,
o Add rcmd support, i.e. rsh, rlogin, etc.
o Fix rcmd to avoid alloca, which is dangerous
on mmu-less systems
o Eliminate a buffer overflow in the shared library loader
o Enable support for Unix98 PTYs, and add option
to disable old style PTYs.