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.
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 ..=../