blob: cf034e25dfaf671fae0f5a20966a6ab76a433545 [file] [log] [blame]
This is klibc, what is intended to be a minimalistic libc subset for
use with initramfs. It is deliberately written for small size,
minimal entaglement 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 a
reasonably recent Linux kernel tree (2.4 or 2.5 should be OK.)
This tree must have the include/asm symlink set up for the
architecture you're compiling for, and include/linux/autoconf.h
must exist. The easiest way to make sure of all of these is to do
a "make config" or any of its variants on the kernel tree is
question, followed by a "make dep".
b) If you're cross-compiling, change ARCH in the main MCONFIG file to
the appropriate architecture, and set CROSS 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 ARCH 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:
Known to work: alpha arm i386 s390 s390x sparc sparc64
Works static, not shared: mips(*) arm-thumb
Need crt0.S updates: ppc
Missing setjmp: ppc64
May or may not work: x86_64
Need porting work: cris ia64 m68k mips64 parisc sh
(*) = Linker problem; might work with fixed linker
Shared library support for sparc/sparc64 requires binutils 2.13.90.0.4.
Note that even the "known to work" 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 me at <hpa@zytor.com> for more info.
-hpa