General information about the glibc.

For information about how the glibc integrates into the system, see sections 2.1 and 2.5 of the critique.

Hurd-specific API.

Debugging glibc.

Cross-building

The long-term goal is to get build-many-glibcs.py to be able to cross-compile glibc. This should be working as per the following:

$ mkdir -p /tmp/build/src
$ cp -a /usr/src/glibc /tmp/build/src/
$ unset CFLAGS
$ /tmp/build/src/glibc/scripts/build-many-glibcs.py --shallow /tmp/build checkout
$ /tmp/build/src/glibc/scripts/build-many-glibcs.py --strip /tmp/build host-libraries
$ /tmp/build/src/glibc/scripts/build-many-glibcs.py --strip /tmp/build compilers i686-gnu
$ /tmp/build/src/glibc/scripts/build-many-glibcs.py /tmp/build glibcs i686-gnu

Currently the master branch builds that way without any testsuite issue.

To save some disk space, after the compilers stage you can remove src/mpc, src/mpfr, src/binutils, src/linux.

Build logs are available in /tmp/build/logs

Building

One can build libc this way:

$ mkdir build
$ cd build
$ unset CFLAGS
$ ../configure --prefix=/usr
$ make
$ make check -k

One can run tests with the new libc by hand:

$ ./testrun.sh ~/test

One can build by hand some target with e.g.:

$ make $PWD/htl/libpthread.so -C ../htl subdir=htl objdir=$PWD ..=../