From 3f11f571319d455858960467f0228d5640afcaa8 Mon Sep 17 00:00:00 2001 From: DJ Lucas Date: Sun, 31 Jan 2016 20:01:07 +0000 Subject: [PATCH] Merge r10995, r10996, and r10997 from trunk. git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd@10998 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter05/glibc.xml | 22 +++++++++++----------- chapter05/toolchaintechnotes.xml | 22 ++++++++++++---------- general.ent | 4 ++-- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 68e41c771..067ddac9f 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -55,23 +55,23 @@ cd build Next, prepare Glibc for compilation: -../configure \ - --prefix=/tools \ - --host=$LFS_TGT \ - --build=$(../glibc-&glibc-version;/scripts/config.guess) \ - --disable-profile \ - --enable-kernel=&min-kernel; \ - --enable-obsolete-rpc \ - --with-headers=/tools/include \ - libc_cv_forced_unwind=yes \ - libc_cv_ctors_header=yes \ +../configure \ + --prefix=/tools \ + --host=$LFS_TGT \ + --build=$(../scripts/config.guess) \ + --disable-profile \ + --enable-kernel=&min-kernel; \ + --enable-obsolete-rpc \ + --with-headers=/tools/include \ + libc_cv_forced_unwind=yes \ + libc_cv_ctors_header=yes \ libc_cv_c_cleanup=yes The meaning of the configure options: - --host=$LFS_TGT, --build=$(../glibc-&glibc-version;/scripts/config.guess) + --host=$LFS_TGT, --build=$(../scripts/config.guess) The combined effect of these switches is that Glibc's build system configures itself to cross-compile, using the cross-linker and diff --git a/chapter05/toolchaintechnotes.xml b/chapter05/toolchaintechnotes.xml index 36c07bad3..252ea5262 100644 --- a/chapter05/toolchaintechnotes.xml +++ b/chapter05/toolchaintechnotes.xml @@ -30,22 +30,24 @@ name of the target triplet is to run the config.guess script that comes with the source for many packages. Unpack the Binutils sources and run the script: ./config.guess and note - the output. For example, for a modern 32-bit Intel processor the - output will likely be i686-pc-linux-gnu. + the output. For example, for a 32-bit Intel processor the + output will be i686-pc-linux-gnu. On a 64-bit + system it will be x86_64-pc-linux-gnu. Also be aware of the name of the platform's dynamic linker, often referred to as the dynamic loader (not to be confused with the standard linker ld that is part of Binutils). The dynamic linker provided by Glibc finds and loads the shared libraries needed by a program, prepares the program to run, and then runs it. The name of the dynamic - linker for a 32-bit Intel machine will be - ld-linux.so.2. - A sure-fire way to determine the name of the dynamic linker is to - inspect a random binary from the host system by running: - readelf -l <name of binary> | grep interpreter - and noting the output. The authoritative reference covering all platforms - is in the shlib-versions file in the root of the Glibc - source tree. + linker for a 32-bit Intel machine will be ld-linux.so.2 (ld-linux-x86-64.so.2 for 64-bit systems). A + sure-fire way to determine the name of the dynamic linker is to inspect a + random binary from the host system by running: readelf -l + <name of binary> | grep interpreter and noting the + output. The authoritative reference covering all platforms is in the + shlib-versions file in the root of the Glibc source + tree. Some key technical points of how the + - +