This is klibc, what is intended to be a minimalistic libc subset for
use with initramfs.  It is deliberately written for small size,
minimal entanglement, and portability, not speed.  It is definitely a
work in progress, and a lot of things are still missing.


The build procedure is not very polished yet, but it should work like
this:

a) In the source root directory (the directory above the one in which
   this file is found) create a symlink called "linux" pointing to the
   target of "make headers_install" from a recent Linux kernel tree.
   This can be done by extracting the Linux kernel into a directory,
   running "make headers_install" for the appropriate architecture,
   and then making a symlink to the "usr" subdirectory of that directory
   tree.

b) If you're cross-compiling, you need to set KLIBCARCH to the
   appropriate architecture, and set CROSS_COMPILE to your toolchain
   prefix.

   IMPORTANT: if you're on a 64-bit machine with a 32-bit userland
   (ia64, mips64, ppc64 sparc64, s390x or x86_64), and you want to
   build the 32-bit version: you need to set KLIBCARCH to the 32-bit
   architecture as well as set up the linux/include/asm symlink to
   point to the 32-bit architecture.  Building the 32-bit architecture
   usually (but not always) produces smaller binaries, and is likely
   to be better tested.

   If you are on ARM, and want to build a thumb version of the library
   (this is supported), change OPTFLAGS in arch/arm/MCONFIG to build
   thumb code.

   The following is the last known status of various architectures:

   alpha:	 Working
   arm-thumb:	 Untested
   arm:		 Working
   arm26:	 Not yet ported
   avr32:	 Not yet ported
   cris:	 Working
   h8300:	 Not yet ported
   i386:	 Working
   ia64:	 Working static, shared untested
   m32r:	 Untested
   m68k:	 Working
   mips:	 Working
   mips64:	 Not yet ported
   parisc:	 Untested
   parisc64:	 Not yet ported
   ppc:		 Working
   ppc64:	 Working
   s390:	 Working
   s390x:	 Working
   sh:		 Runtime breakage
   sh64:	 Not yet ported
   sparc:	 Working
   sparc64:	 Working
   v850:	 Not yet ported
   x86-64:	 Working
   xtensa:	 Not yet ported

   Shared library support requires recent binutils on many
   architectures.

   Note that even the "working" ones likely have bugs.  Please report
   them if you run into them.

c) Type "make" and pray...

d) Try the test programs in the tests/ directory.  They should run...

Contact the klibc mailing list:

	http://www.zytor.com/mailman/listinfo/klibc

... for more info.

	-hpa
