- 8 November 2002, uClibc 0.9.16 Released
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.16. This release adds full support (including a native shared
library loader) for the CRIS architecture, contributed by Tobias Anderberg.
Stefan Allius contributed a number of patches to fix the initialization
order for shared library global constructors and destructors as well as a
large number of SuperH fixes and cleanups. uClibc now compiles with
newer versions of gcc (i.e. RedHat 8.0). Thanks to Christian Michon,
uClibc no longer requires perl to compile. Steven J. Hill fixed dlopen for
mips. Several problems with pty and tty handling were fixed. Manuel Novoa
added new support for an /etc/TZ file to globally set the system timezone,
and fixed up a number of remaining wide char issues. Manuel is still hard
at work on bringing full locale support (optional of course) to uClibc.
And of course, this release includes the usual pile of bug fixes. Many thanks
for the large number of patches and fixes that were contributed!
Erik and Manuel have been working on a
document describing some of the differences between uClibc and glibc.
It's not yet 100% complete, and it hasn't been nicely formatted yet. But
it contains a lot of helpful information and is worth a look.
And finally, the the old uClibc configuration system has been completely
removed (and there was much rejoicing). It was replaced with an entirely
new system based on LinuxKernelConf,
which has since been included into Linux 2.5.45, so it looks like Erik made
the right choice. Of course, those who have existing build systems using uClibc
will need to make a few changes... We think the change is worth it.
As usual, the
Changelog
and source code
for this release are available here.
You might want to download uClibc from the closest
kernel.org mirror site.
Just pick the closest mirror site, and then go to
http://www.XX.kernel.org/pub/linux/libs/uclibc/
to download uClibc, where XX is your two letter country code.
Updated gcc-3.2 and gcc-2.95 toolchains will be released shortly.
- 16 September 2002, gcc-3.2 and gcc-2.95 toolchains released
CodePoet Consulting (i.e. Erik) has released updated gcc-3.2 and gcc-2.95
uClibc toolchains. These toolchains build real gcc cross compilers (i.e.
not just a wrapper) and create executables linked vs uClibc. The new
gcc-3.2 provides uClibc support with the latest and greatest compiler
available from the gcc team. The gcc-2.95 toolchain has been updated to
the latest version of uClibc and now provides full C++ support, using the
STLport standard C++ library.
This toolchain should make it easy for anyone to build uClibc based
applications.
Source code can be downloaded here.
Be aware that much of the needed source code will actually be downloaded on
when you compile the toolchains. To build a toolchain, simply
grab the source, edit the Makefile to select where you would like
the toolchain installed, run 'make', and then go watch TV, eat
dinner, or visit with your friends while it compiles. It takes
about 15 minutes for Erik to compile the gcc-3.2 toolchain (w/C++ support)
on his Athlon XP 1600 (not counting the time it takes to download
source code).
- 27 August 2002, uClibc 0.9.15 Released
CodePoet Consulting is pleased to announce the immediate availability
of uClibc 0.9.15. This release fixes a number of problems that turned
up since the last release. The good news is that uClibc now
passes all tests in the perl 5.8 and Python 2.2.1 test suites, both with
and without pthreads. So without any further ado....
The
Changelog
and source code
for this release are available here.
Have fun!
- 12 August 2002, uClibc 0.9.14 Released
CodePoet Consulting is slightly less pleased then usual to announce the
immediate availability of uClibc 0.9.14. This is, unfortunately, a bugfix
release intended to fix the couple of dumb things that slipped into the
previous release. Version 0.9.13 of uClibc would fail to compile when
enabling both RPC and Pthreads. There was also a problem with RPC thread
local storage (but noone noticed since it didn't compile ;-). Also, the
thread locking in exit(), onexit() and atexit() was broken, and wasn't
actually locking anything. This release also fixes uClibc's gcc wrapper
to use crtbeginS.o and crtendS.o when compiling PIC code, fixing a subtle
bug (that was much less subtle on powerpc). Finally, this release includes a
few minor compile warning cleanups.
The
Changelog
and source code
for this release are available here.
Have fun!
- 12 August 2002, Native uClibc/gcc-3.1.1 toolchain released
CodePoet Consulting (i.e. Erik) has released an updated native
uClibc/gcc-3.1.1 toolchain. This toolchain builds a real gcc cross
compiler (i.e. not just a wrapper) and creates executables linked vs
uClibc. This toolchain has been (briefly) tested as working on x86, arm,
mips, and arm7tdmi (uClinux). This toolchain provides a number of
improvements over previous releases. In particular, Steven J. Hill found
and fixes a number of "glibc-isms" in the libstdc++ math support which
caused a number of math functions to be mapped to the non-standard named
under GNU libc. This release also includes greatly improved uClinux
"elf2flt" support, and it now produces working flat binaries for my
uClinux/arm7tdmi system. The native uClibc/gcc-2.95 toolchain will be
updated in a few days, and will include STLport which will allow that
toolchain to also provide full C++ support.
This toolchain should make it easy for anyone to build uClibc based
applications.
Source code can be downloaded here.
Be aware that much of the needed source code will actually be downloaded on
demand when you compile things. To build the toolchain, simply
grab the source, edit the Makefile to select where you would like
the toolchain installed, run 'make', and then go watch TV, eat
dinner, or visit with your friends while it compiles. It takes
about 15 minutes for Erik to compile the gcc-3.1.1 toolchain (w/C++ support)
on his Athlon XP 1600 (not counting the time it takes to download
source code). Your results may vary...
- 9 August 2002, uClibc now mirrored on kernel.org!
uClibc is now available from the kernel.org mirrors! This should make
uClibc downloads much faster. The kernel.org mirrors will have all
uClibc release versions (everything but the daily snapshots).
Here is a list of all the kernel.org mirror sites.
Just pick the closest mirror site, and then go to "/pub/linux/libs/uclibc/"
to download uClibc.
Just pick the closest mirror site, and then go to
http://www.XX.kernel.org/pub/linux/libs/uclibc/ to download the latest
uClibc release from a nice fast system.
- 9 August 2002, uClibc 0.9.13 Released
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.13. After several days of testing, this release is looking very
solid. This release fixes three security vulnerabilites in previous
releases. There was an off-by-one buffer overflow in the group handling
code, and integer overflows in calloc() and xdr_array().
This release adds native shared library support for the Hitachi
SuperH architecture, thanks to Stefan Allius and Edie C. Dost. A
new mmap based malloc was implemented by Miles Bader. This is much
smarter than the old "malloc-simple" and is now the default for
mmu-less systems, where it should greatly help reduce memory
fragmentation and wastage. In addition to these larger items, there
has been a lot of work done to make uClibc a cleaner, more
capable, library. Most applications now compile and run without
any trouble.
The
Changelog
and source code
for this release are available here.
Have fun!
- 11 July 2002, Native uClibc toolchains updated
CodePoet Consulting (i.e. Erik) has released updated native
uClibc/gcc-3.1 and uClibc/gcc-2.95 toolchains. These toolchains
build real gcc cross compilers (i.e. not just a wrapper) and create
executables linked vs uClibc. These toolchains have been tested
and found working on x86, arm, and mmu-less arm. They should work
(at least in theory!) for all architectures supported by uClibc.
These toolchains should make it easy to anyone to build uClibc based
applications.
Source code can be downloaded here.
Be aware that much of the needed source code will actually be downloaded on
demand when you compile things. To build the toolchain, simply
grab the source, edit the Makefile to select where you would like
the toolchain installed, run 'make', and then go watch TV, eat
dinner, or visit with your friends while it compiles. It takes
about 15 minutes for Erik to compile the gcc-3.1 toolchain (w/C++ support)
on his Athlon XP 1600 (not counting the time it takes to download
source code). Your results may vary...
- 20 June 2002, uClibc 0.9.12 Released
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.12. This release adds an i960 port, an initial alpha port,
fully working mips shared library support, shared library support fixes
for on powerpc, and many other improvements. One very exciting new feature
is nearly complete locale support, thanks to a lot of hard work by Manuel
Novoa III. uClibc's locale support is much smaller than glibc's,
though it is also slightly less flexible. This release was delayed by a
month due to the arrival of a new baby at Erik's house. For those that
have been anxiously waiting, this release should certainly be worth the
wait. Have fun!
The Changelog
and source code
for this release are available here.
- 28 May 2002, Native uClibc/gcc-3.1 toolchain
CodePoet Consulting has released source code and a Makefile to build a
gcc-3.1 toolchain that natively targets uClibc. Additionally, the
gcc-3.0.4 and gcc-2.95 toolchains have also been updated. These toolchains
make it easy to build uClibc based applications.
Source code can be downloaded here.
and is now much smaller,
since much of the needed binutils and gcc source code is now downloaded on
demand. To build the toolchain, simply grab the source, edit the Makefile
to select where you would like the toolchain installed, and then run 'make'
and wait for it to compile.
- 10 April 2002, uClibc 0.9.11 Released
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.11. This release is primarily focused on fixing the issues that
have turned up since the last release. Several bugs in the gcc wrapper
have been fixed, allowing applications such as iproute2 and XFree86 to link properly.
Large file support has been improved, and a thread locking bug was
fixed that could cause s*printf calls to deadlock when threading was
enabled. Several bugs were also fixed with the powerpc, h8300, m68k,
sparc, and mips architecture support. Many additional applications now
compile and run perfectly and have been added to the working applications list .
The Changelog
and source code
for this release are available here.
- 10 April 2002, Native uClibc/gcc-3.0.4 toolchain
CodePoet Consulting has released source code and a Makefile
to build a gcc-3.0.4 toolchain that natively targets uClibc.
This brings with it full C++ support for uClibc, including the
libstdc++ library. A gcc-2.95.x toolchain will also be released
shortly, but is not yet ready. At this time, only source code and
a Makefile for the native uClibc toolchain is being released (i.e.
no binaries, sorry).
Source code can be downloaded here.
To build the toolchain, simply grab the source, edit the Makefile
to select where you would like the toolchain installed. Then
run 'make' and wait for it to compile. If you do not have a copy
of uClibc already, it will download the latest daily snapshot.
- 21 March 2002, uClibc 0.9.10 Released!
CodePoet Consulting is pleased to announce the immediate
availability of uClibc 0.9.10. This release adds pthreads support
(including pthreads support for mmu-less systems!). Additionally,
thanks to Manuel Novoa III, we now have a completely new stdio
library, which is small, standards compliant, supports pthreads,
wide/narrow streams, large files, and can even operate in a
low-memory unbuffered mode. Many, many bugs have been fixed and a
number of additional applications now compile and run perfectly.
Even with all these changes, uClibc continues to be very small.
On x86, a default build of the uClibc C library is still just 168k.
To make things more interesting, the release also adds support for
C++ constructors and destructors. To make it easy to use uClibc
when developing C++ applications, this release also provides a
wrapper for the GNU C++ compiler. Of course, for more complex C++
applications, such as those using iostreams, a standard C++ library
(libstdc++) is required. A native GNU toolchain (binutils/gcc) that
provides libstdc++ linked with uClibc 0.9.10 will be released in the
next couple of days, so stay tuned.
The Changelog
and Source code
for this release are available here.
- 4 February 2002, uClibc 0.9.9 Released!
CodePoet Consulting is pleased to announce the immediate
availability of uClibc 0.9.9. With this release,
just about
everything we have tested now compiles and runs. In fact,
there are now so many programs on the working application list that
rather than continue to add to this list, from now on we
will only be adding applications to the not working list. Most applications
on the not working list either require pthreads, or require
wide-character support. Work on wide-character support is
well underway, and will hopefully be moving into CVS in the next week or
two. Full pthreads support and rentrancy are on the TODO list
and are expected to be complete in the next couple of months.
The Changelog
and Source code
for this release are available here.
One final bit on news -- as some of you may have noticed, uclibc.org
has been a bit overloaded and somewhat slow recently. The server should
be getting colocated tomorrow, which will eliminate the speed problem.
During the move, there may be some temporary disruption of service...
Have Fun!
- 22 December 2001, uClibc 0.9.8 Released!
After many months of initial development, we are pleased to announce the
release of uClibc 0.9.8. This release should be quite solid, and is very
usable. This also, hopefully, marks a transition from a slow incubation
phase to a more methodical release cycle. From now one, there should be
approximately one release per month.
The source code for this release is available
here.
- 26 November 2001, powerpc shared libraries fully working
Dave Schleef finished off the the work needed for shared library support on
powerpc. There had been a few problems remaining, and those are now squashed.
So shared libs on powerpc should be working fully now.
- 14 November 2001, m68 compiles again, Large file support working
About a month ago I synced the header files with glibc 2.2.4 for better
C++ support and better standards compliance. I forgot to sync up m68k,
sparc, powerpc, and mipsel. Dave Schleef fixed powerpc while he was fixing
up the shared lib loader. I just fixed up m68k, sparc, and mipsel so they
should all compile again.
I also finished up fixing large file support (just enable DOLFS in your
Config file to enable it) and it is working just great, and greatly increases
the number of glibc applications that will work "out-of-the-tarball" without
needing any changes.
- 12 November 2001, powerpc shared lib support
Thanks to David Schleef, uClibc now has full shared library support
on powerpc. This brings full shared library support to x86, ARM, and
now powerpc. Thanks Dave!
- 7 November 2001, uClibc application list
uClibc now has a list of applications
that are known to work. If you have any applications to add to the
list, submissions are welcome!
- 18 October 2001, buildroot uClibc example system
Those wanting an easy way to test out uClibc and give it
a test drive can download and compile
buildroot.
This is a nifty buildsystem that will automagically download and build
a User-Mode Linux
kernel, and will then download source for and compile up a fully
working uClibc based root filesystem. This should make it easy for
people to create their own projects. I hope that this build system
will allow people to more easily use and build uClibc based systems.
As an example of how nicely this works, the
Tuxscreen Project is using a
slightly adjusted variant of the buildroot system to cross
compile the blob bootloader, linux kernel, and a uClibc based jffs2
root filesystem (busybox, tinylogin, udhcp, lrzsz, pcmcia-cs and
microwindows) for ARM. Pretty cool.
- 11 October 2001, v850 architecture support
Miles Bader has contributed support for the v850 architecture.
- 25 Spetember 2001, header files updated
uClibc's header files are now in sync with glibc 2.2.4,
allowing better standards compliance, better portibility, and
better C++ support.
- 4 July 2001, ARM shared library support
uClibc now has full shared library support on ARM.
- 9 May 2001, libm added
uClibc now has a very complete math library.
- 9 May 2001, ld.so added
uClibc now has a native ld.so. It currently is only ported to work on x86,
but porting to other architectures should not be too difficult.
- 15 March 2001, powerpc port added
David Schleef contributed a powerpc port, which is now in CVS.
- 19 February 2001, SH port added
Jean-Yves Avenard contributed an SH port. See his email
with the initial patch here.
- 16 January 2001, uClibc as a shared library
As if January 16, uClibc can now be used (at least on x86) as a shared
library. See the email
announcing this achievement.
- 11 January 2001, gcc wrapper added
Manuel Novoa III has created a wrapper for gcc that makes compiling apps vs uClibc
as simple as just setting "CC" to gcc-uClibc-< arch>. This even works when cross
compiling! Very cool.
- 3 January 2001, uClibc now has a web page
A lot of work has been going on under the hood with uClibc,
so I decided to put together this webpage to let the world know
that it exists and is getting to be very usable.
|