summaryrefslogtreecommitdiffstats
path: root/bootstrap-system-build-procedure.txt
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2011-12-31 17:13:44 (EST)
committer P. J. McDermott <pjm@nac.net>2011-12-31 17:13:44 (EST)
commit2921528e54507addc3d54e60d13a9c01687ba78d (patch)
tree1c330ef81f7f6141ba91d8cbe23ae03f08f4c1fb /bootstrap-system-build-procedure.txt
parent374ecedf007ca8f1ad9c8e3ab6e082d4192460af (diff)
Fix Linux compatibility version in EGLIBC config.
Diffstat (limited to 'bootstrap-system-build-procedure.txt')
-rw-r--r--bootstrap-system-build-procedure.txt15
1 files changed, 13 insertions, 2 deletions
diff --git a/bootstrap-system-build-procedure.txt b/bootstrap-system-build-procedure.txt
index c1a25b9..0fdfef8 100644
--- a/bootstrap-system-build-procedure.txt
+++ b/bootstrap-system-build-procedure.txt
@@ -113,7 +113,9 @@ Install Linux's headers for use by EGLIBC.
$ make INSTALL_HDR_PATH=/tools/usr headers_install
$ cd ..
-Configure and build a cross-compiling EGLIBC.
+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.
$ mkdir eglibc-build
$ cd eglibc-build
$ case $(uname -m) in
@@ -123,7 +125,8 @@ Configure and build a cross-compiling EGLIBC.
> esac
$ ../eglibc-2.14/libc/configure --prefix=/tools/usr --host=${BBLL_TARGET} \
> --build=$(../eglibc-2.14/libc/scripts/config.guess) --disable-profile \
- > --enable-add-ons --enable-kernel=3.1.6 --with-headers=/tools/usr/include \
+ > --enable-add-ons --enable-kernel=<LINUX_VERSION> \
+ > --with-headers=/tools/usr/include \
> libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes libc_cv_ssp=no
$ make -j 4
$ make install
@@ -139,7 +142,15 @@ everything works.
$ unset SPECS
$ echo 'int main(){return 0;}' > test.c
$ ${BBLL_TARGET}-gcc -B/tools/usr/lib test.c
+The following command should output something like
+"[Requesting program interpreter: /tools/usr/lib64/ld-linux-x86-64.so.2]". If
+you don't see this output, then you might not have edited your GCC specs file
+correctly.
$ readelf -l a.out | grep ': /tools/usr'
+The following command should execute properly and output nothing. If you see
+"FATAL: kernel too old", then you set the value of '--enable-kernel' too low
+when configuring EGLIBC.
+ $ ./a.out
$ rm -v test.c a.out
Cross-compile a native GNU Binutils.