summaryrefslogtreecommitdiffstats
path: root/temporary-bootstrap-builder-setup.txt
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-01-05 03:27:47 (EST)
committer P. J. McDermott <pjm@nac.net>2012-01-05 03:27:47 (EST)
commit627cb8be2798718b946162c857f1ead9517b84a1 (patch)
treece6620b3bb49b7bfca777eed72cc5e494b8a4428 /temporary-bootstrap-builder-setup.txt
parent966aab860fcde8139814e83e7493409b3ec169f9 (diff)
Add cross-compiling EGLIBC instructions.
Diffstat (limited to 'temporary-bootstrap-builder-setup.txt')
-rw-r--r--temporary-bootstrap-builder-setup.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/temporary-bootstrap-builder-setup.txt b/temporary-bootstrap-builder-setup.txt
index 50a715d..cffbeeb 100644
--- a/temporary-bootstrap-builder-setup.txt
+++ b/temporary-bootstrap-builder-setup.txt
@@ -205,3 +205,25 @@ Configure and build a cross-compiling GCC.
$ make install-gcc install-target-libgcc
$ cd ..
$ rm -Rf gcc-4.6.2
+
+Configure and build a cross-compiling EGLIBC. Change '<LINUX_VERSION>' to the
+lower of either version 3.1.6 or the version of Linux running on your host
+system.
+ $ cp -pR ${BBL}/../../src/eglibc-2.14 .
+ $ cd eglibc-2.14/libc
+ $ cp -v Makeconfig{,.orig}
+ $ sed -e 's/-lgcc_eh//g' Makeconfig.orig > Makeconfig
+ $ cd ../..
+ $ mkdir -v eglibc-build
+ $ cd eglibc-build
+ $ BUILD_CC=gcc CC=${BBL_TARGET}-gcc AR=${BBL_TARGET}-ar \
+ > RANLIB=${BBL_TARGET}-ranlib \
+ > CFLAGS="-march=$(cut -d - -f 1 <<< ${BBL_TARGET} | sed 's/x86_64/x86-64/') \
+ > -mtune=generic -g -O2" ../eglibc-2.14/libc/configure --prefix=/usr \
+ > --libexecdir=/usr/lib/eglibc --host=${BBL_TARGET} --build=${BBL_HOST} \
+ > --disable-profile --enable-add-ons --with-tls --enable-kernel=3.1.0 \
+ > --with-__thread --with-binutils=${BBL}/cross-tools/bin \
+ > --with-headers=${BBL}/usr/include libc_cv_forced_unwind=yes \
+ > libc_cv_c_cleanup=yes libc_cv_gnu89_inline=yes install_root=${BBL}
+ $ make
+ $ make install