diff options
Diffstat (limited to 'docs/uclibc.org/index.html')
-rw-r--r-- | docs/uclibc.org/index.html | 477 |
1 files changed, 477 insertions, 0 deletions
diff --git a/docs/uclibc.org/index.html b/docs/uclibc.org/index.html new file mode 100644 index 000000000..96b3ebfd2 --- /dev/null +++ b/docs/uclibc.org/index.html @@ -0,0 +1,477 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> + +<HTML> +<HEAD> +<TITLE>uClibc -- a C library for embedded systems</TITLE> +</HEAD> + +<body text="#000000" alink="#660000" link="#660000" bgcolor="#dee2de" vlink="#660000"> + +<basefont face="lucida, helvetica, arial" size="3"> + + +<CENTER> +<p> + +<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2> + <TR> + <td bgcolor="#000000"> + <FONT FACE="lucida, helvetica" COLOR="#ccccc0"> + <B>µ C l i b c</B> + </FONT> + </TD> + </TR> +</TABLE> +<p> + + +<!-- Begin Introduction section --> + + +<TABLE WIDTH=95% CELLSPACING=1 CELLPADDING=4 BORDER=1> +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="intro"> <BIG><B> + uClibc -- a C library for embedded systems + </font> + </A></B></BIG> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + + +uClibc is a C library for embedded systems. +<p> + +<p> +uClibc is maintained by +<a href="http://www.codepoet.org/andersen/erik/erik.html">Erik Andersen</a> +and is licensed under the +<a href="http://www.gnu.org/copyleft/lgpl.html">GNU LIBRARY GENERAL PUBLIC LICENSE</a> +<p> + +It is my sincere hope that this is as useful to you as it is to me. + +<!-- Begin Mailing list section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="mailing_list"><BIG><B> + Mailing List + </A></B></BIG> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + +uClibc has a +<a href="http://uclibc.org/lists/uclibc/">mailing list</a>. +To subscribe, go and visit +<a href="http://uclibc.org/mailman/listinfo/uclibc">this page</a>. + +<p> + + + +<!-- Begin Download section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="download"><BIG><B> + Download + </A></B></BIG> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> +<ul> + <li> I now have a script that creats a daily snapshot tarball of uClibc and posts it on + <a href="http://uclibc.org/uClibc-snapshot.tar.gz">here</a>. + <li> uClibc now has its own publically browsable + <a href="http://cvs.uclinux.org/cgi-bin/cvsweb/uClibc/">CVS tree</a> (this CVS tree is also mirrored onto + <a href="http://uclibc.org/cgi-bin/cvsweb/uClibc/">uclibc.org</a> but they are both the same thing). + <li> Anonymous + <a href="http://cvs.uclinux.org/cvs_anon.html">CVS access</a>, and + + <li> For those that are actively contributing there is even + <a href="http://cvs.uclinux.org/cvs_write.html">CVS write access</a>. +</ul> + +<!-- Begin Applications section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="applications"><BIG><B> + Known Working Applications List + </A></B></BIG> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + + uClibc now has a <a href="http://uclibc.org/uClibc-apps.html">list of applications</a> + that are known to work. If you have any applications to add to the + list, submissions are welcome! + + +<!-- Begin Applications section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="contribute"><BIG><B> + Help Support uClibc development + </A></B></BIG> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + + Do you like uClibc? Do you need support? Do you need some feature + added to uClibc? Then why not help out? We are happy to accept + donations, provide support contracts, and implement funded feature + requests. Additionally, uClibc is looking for corporate sponsors to + help sponsor development, pay for bandwidth, and help with hardware + donations, especially donations of hardware for non-Intel + architectures. Click here to help support uClibc and/or request features. + + <!-- Begin PayPal Logo --> + <center> + <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> + <input type="hidden" name="cmd" value="_xclick"> + <input type="hidden" name="business" value="andersen@codepoet.org"> + <input type="hidden" name="item_name" value="Support uClibc and/or request features"> + <input type="hidden" name="image_url" value="https://codepoet-consulting.com/images/codepoet.png"> + <input type="hidden" name="no_shipping" value="1"> + <input type="image" src="images/donate.png" border="0" name="submit" alt="Make donation using PayPal"> + </form> + </center> + <!-- End PayPal Logo --> + +<!-- Begin Latest News section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="news"> + <BIG><B> + Latest News</A> + </B></BIG> + </A> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + +<ul> + + <li> <b>26 November 2001, powerpc shared libraries fully working</b> + <br> + 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. + + <p> + <li> <b>14 November 2001, m68 compiles again, Large file support working</b> + <br> + 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. + <p> + 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. + + + <li> <b>12 November 2001, powerpc shared lib support</b> + <br> + 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! + + + <p> + <li> <b>7 November 2001, uClibc application list</b> + <br> + uClibc now has a <a href="http://uclibc.org/uClibc-apps.html">list of applications</a> + that are known to work. If you have any applications to add to the + list, submissions are welcome! + + + <p> + <li> <b>18 October 2001, buildroot uClibc example system</b> + <br> + + Those wanting an easy way to test out uClibc and give it + a test drive can download and compile + <a href="ftp://uclibc.org/buildroot.tar.gz">buildroot.tar.gz</a>. This + is a nifty buildsystem that will automagically download and build + a <a href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a> + 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 + <a href="http://tuxscreen.net/">Tuxscreen Project</a> is using a + <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tuxscreen/buildroot-tux/">slightly adjusted variant of the buildroot system</a> 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. + + + + <p> + <li> <b>11 October 2001, v850 architecture support</b> + <br> + + Miles Bader has contributed support for the v850 architecture. + + + <p> + <li> <b>25 Spetember 2001, header files updated</b> + <br> + + uClibc's header files are now in sync with glibc 2.2.4, + allowing better standards compliance, better portibility, and + better C++ support. + + <p> + <li> <b>4 July 2001, ARM shared library support</b> + <br> + + uClibc now has full shared library support on ARM. + + + <p> + <li> <b>9 May 2001, libm added</b> + <br> + + uClibc now has a very complete math library. + + + <p> + <p> <li> <b>9 May 2001, ld.so added</b> + <br> + + 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. + + + <p> <li> <b>15 March 2001, powerpc port added</b> + <br> + + David Schleef contributed a powerpc port, which is now in CVS. + + <p> <li> <b>19 February 2001, SH port added</b> + <br> + + Jean-Yves Avenard contributed an SH port. See his email + with the initial patch <a href="http://uclibc.org/lists/uclibc/2001-February/000409.html">here</a>. + + <p> <li> <b>16 January 2001, uClibc as a shared library</b> + <br> + + As if January 16, uClibc can now be used (at least on x86) as a shared + library. See the <a href="http://uclibc.org/lists/uclibc/2001-January/000126.html">email</a> + announcing this achievement. + + <p> <li> <b>11 January 2001, gcc wrapper added</b> + <br> + + 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. + + <p> <li> <b>3 January 2001, uClibc now has a web page</b> + <br> + + 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. + + +</ul> + +<!-- Begin TODO section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="download"><BIG><B> + TODO + </A></B></BIG> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + + +Here are a few things on the TODO list: +<ul> + <li> Shared library support for all supported architectures. + We now have our own ld.so, but it needs to be ported to + support each architecture. + <li> Shared library support for mmu-less systems. This is + very doable (think of C++ vtables for example), but will + take some work. + <li> Someone (hopefully) needs to volunteer to take the + <a href="http://www.linuxbase.org/test/">LSB Test Suite</a>, + pull out the C library testing stuff, and convert it + (perl script, by hand, I don't care how) into a form + that is usable without having it take over your entire + system (i.e. similar to what is currently in the uClibc + test suite). This will be <em>enormously</em> helpful! + <li> other things as I think of them. +</ul> + + + + +<!-- Begin Links section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="links"> + <BIG><B> + Other Open Source C libraries: + </A> + </B></BIG> + </A> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + +<ul> + + +<li> <a href="http://www.k9wk.com/cdoc.html">Al's FREE C Runtime Library</a> +<li><a href="http://www.fefe.de/dietlibc/">diet libc </a> +<li>the <a href="http://www.cs.vu.nl/~ast/minix.html">minix</a> + <a href="http://www.cs.vu.nl/cgi-bin/raw/pub/minix/2.0.0/src.tar" + >C library</a> +<li> <a href="http://sources.redhat.com/newlib/">newlib</a> +<li>and there is a + <a href="ftp://sourceware.cygnus.com/pub/ecos/">C library</a>, for + <a href="http://sources.redhat.com/ecos/">eCos</a> as well. + +<ul> + + + +<!-- Begin History section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="history"><BIG><B> + History + </A></B></BIG> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + +This history and origin of uClibc is long and twisty. +In the beginning, there was <a +href="http://www.gnu.org/software/libc/libc.html">GNU libc</a>. Then, libc4 +(which later became linux libc 5) forked from GNU libc version 1.07.4, with +additions from 4.4BSD, in order to support Linux. Later, the <a +href="http://www.cix.co.uk/~mayday/">Linux-8086 C library</a>, which is part of +the <a href="http://www.elks.ecs.soton.ac.uk/">elks project</a>, was created, +which was, apparently, largely written from scratch but also borrowed code from +libc4, glibc, some Atari library code, with bits and pieces from about 20 other +places. Then uClibc forked off from the Linux-8086 C library in order to run +on <a href="http://www.uclinux.org">µClinux</a>. +<p> + +I had for some time been despairing over the state of C libraries in Linux. +GNU libc, the standard, is very poorly suited to embedded systems (and it just +gets bigger with every release). I spent quite a bit of time looking over the +other Open Source C libraries that I knew of (listed below), and none of them really +impressed me. I felt there was a real vacancy in the embedded Linux ecology. +The closest library to what I imagined an embedded C library should be was +uClibc. But that had a lot of problems too -- not the least of which was that, +traditionally, uClibc had a complete source tree fork in order to support each +and every new platform, resulting in a big mess of twisty versions, all +different. I decided to fix it and the result is what you see here. +My source tree has now become the official uClibc source tree and it now lives +on cvs.uclinux.org. + +<p> + +To start with, (with some initial help from <a +href="http://www.uclinux.org/developers/index.html">D. Jeff Dionne</a>), I +ported it to run on x86. I then grafted in the header files from glibc 2.1.3 +and cleaned up the resulting breakage. This (plus some additional work) has +made it almost completely independant of kernel headers, a large departure from +its traditional tightly-coupled-to-the-kernel origins. I have written and/or +rewritten a number of things that were missing or broken, and sometimes grafted +in bits of code from the current glibc and libc5. I have also built a proper +platform abstraction layer, so now you can simply edit the file "Config" and +use that to decide which architecture you will be compiling for, and whether or +not your target has an MMU, and FPU, etc. I have also added a test suite, +which, though incomplete, is a good start. Several people have helped by +contributing ports to new architectures, and a lot of work has been done on +adding support for missing features. + +<p> + + + + + +<!-- Begin Links section --> + +<TR><TD BGCOLOR="#ccccc0" ALIGN=center> + <A NAME="links"> + <BIG><B> + Links to other useful stuff + </A> + </B></BIG> + </A> +</TD></TR> +<TR><TD BGCOLOR="#eeeee0"> + +<ul> + + <li> <a href="http://www.uclinux.org/">The uClinux home page</a>. + <p> + + <li> <a href="http://cvs.uclinux.org/">The uClinux CVS reporitory</a>. + <p> + + <li> <a href="http://uclibc.org/">The uClibc.org home page</a>. + <p> + +</ul> + + + +<!-- End of Table --> + +</TD></TR> +</TABLE> +</P> + + + +<!-- Footer --> +<HR> +<TABLE WIDTH="100%"> + <TR> + <TD> + <font size="-1" face="arial, helvetica, sans-serif"> + Mail all comments, insults, suggestions and bribes to + <a href="mailto:andersen@codepoet.org">Erik Andersen</a><BR> + </font> + </TD> + + <TD> + <a href="http://www.vim.org"><img border=0 width=90 height=36 + src="images/written.in.vi.png" + alt="This site created with the vi editor"></a> + </TD> + + <TD> + <a href="http://www.gimp.org/"><img border=0 width=90 height=36 + src="images/gfx_by_gimp.png" alt="Graphics by GIMP"></a> + </TD> + + <TD> + <a href="http://www.linuxtoday.com"><img width=90 height=36 + src="images/ltbutton2.png" alt="Linux Today"></a> + </TD> + + <TD> + <p><a href="http://slashdot.org"><img width=90 height=36 + src="images/sdsmall.png" alt="Slashdot"></a> + </TD> + + <TD> + <a href="http://freshmeat.net"><img width=90 height=36 + src="images/fm.mini.png" alt="Freshmeat"></a> + </TD> + + </TR> +</TABLE> + + +</CENTER> +</BODY> +</HTML> + + |