aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05
diff options
context:
space:
mode:
authorGreg Schafer <greg@linuxfromscratch.org>2003-09-16 07:28:26 +0000
committerGreg Schafer <greg@linuxfromscratch.org>2003-09-16 07:28:26 +0000
commit1f536265dd95eaecbd3d666a788351c108caee35 (patch)
tree553eb85dda1c08d57c167033a9ff8b8ac1bd7302 /chapter05
parent18b65e2b0aa0a063ed09d4f464d8ab4dc2231898 (diff)
Add sanity checks and some notes on the toolchain testsuites.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2825 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter05')
-rw-r--r--chapter05/binutils-pass1-inst.xml5
-rw-r--r--chapter05/binutils-pass2-inst.xml4
-rw-r--r--chapter05/gcc-pass1-inst.xml5
-rw-r--r--chapter05/gcc-pass2-inst.xml3
-rw-r--r--chapter05/glibc-inst.xml4
-rw-r--r--chapter05/lockingglibc.xml29
6 files changed, 50 insertions, 0 deletions
diff --git a/chapter05/binutils-pass1-inst.xml b/chapter05/binutils-pass1-inst.xml
index 5701e5960..9e02b5f86 100644
--- a/chapter05/binutils-pass1-inst.xml
+++ b/chapter05/binutils-pass1-inst.xml
@@ -7,6 +7,11 @@
because both Glibc and GCC perform various tests on the available linker and
assembler to determine which of their own features to enable.</para>
+<note><para>Even though Binutils is an important toolchain package, we are not
+going to run the testsuite at this early stage. Firstly, the testsuite
+framework is not yet in place and secondly, the programs from this first pass
+will soon be overwritten by those installed in the second pass.</para></note>
+
<para>This package is known to behave badly when you have changed its default
optimization flags (including the -march and -mcpu options). Therefore, if
you have defined any environment variables that override default
diff --git a/chapter05/binutils-pass2-inst.xml b/chapter05/binutils-pass2-inst.xml
index 5a5fd5571..fbd555389 100644
--- a/chapter05/binutils-pass2-inst.xml
+++ b/chapter05/binutils-pass2-inst.xml
@@ -3,6 +3,10 @@
<sect2>
<title>Re-installation of Binutils</title>
+<note><para>It's worth noting that the Binutils testsuite we run in this
+chapter is considered not as critical as the one we run in Chapter 6.</para>
+</note>
+
<para>First create a separate build directory again:</para>
<para><screen><userinput>mkdir ../binutils-build
diff --git a/chapter05/gcc-pass1-inst.xml b/chapter05/gcc-pass1-inst.xml
index a36310b2a..5b39c34ea 100644
--- a/chapter05/gcc-pass1-inst.xml
+++ b/chapter05/gcc-pass1-inst.xml
@@ -6,6 +6,11 @@
<para>Unpack only the GCC-core tarball, as we won't be needing a C++ compiler
for the moment.</para>
+<note><para>Even though GCC is an important toolchain package, we are not
+going to run the testsuite at this early stage. Firstly, the testsuite
+framework is not yet in place and secondly, the programs from this first pass
+will soon be overwritten by those installed in the second pass.</para></note>
+
<para>This package is known to behave badly when you have changed its
default optimization flags (including the -march and -mcpu options).
Therefore, if you have defined any environment variables that override
diff --git a/chapter05/gcc-pass2-inst.xml b/chapter05/gcc-pass2-inst.xml
index a25d48703..28fa51213 100644
--- a/chapter05/gcc-pass2-inst.xml
+++ b/chapter05/gcc-pass2-inst.xml
@@ -11,6 +11,9 @@ supported by your host distribution. Most notably, a host distribution
which does not properly support the devpts filesystem will cause most of
these tests to fail.</para>
+<note><para>It's worth noting that the GCC testsuite we run in this chapter is
+considered not as critical as the one we run in Chapter 6.</para></note>
+
<para>Unpack all three GCC tarballs in one and the same working directory.
They will all unfold into a single <filename>gcc-&gcc-version;/</filename>
subdir.</para>
diff --git a/chapter05/glibc-inst.xml b/chapter05/glibc-inst.xml
index d1c3e9137..fd83fb545 100644
--- a/chapter05/glibc-inst.xml
+++ b/chapter05/glibc-inst.xml
@@ -8,6 +8,10 @@ into the <filename>glibc-&glibc-version;</filename> directory and unpack
Glibc-linuxthreads in that directory, not in <filename>/usr/src</filename> as
you would normally do.</para>
+<note><para>We are going to run the testsuite for Glibc in this chapter.
+However, it's worth noting that the Glibc testsuite we run in this chapter is
+considered not as critical as the one we run in Chapter 6.</para></note>
+
<para>This package is known to behave badly when you have changed its
default optimization flags (including the -march and -mcpu options).
Therefore, if you have defined any environment variables that override
diff --git a/chapter05/lockingglibc.xml b/chapter05/lockingglibc.xml
index bd15b4a7f..285de303c 100644
--- a/chapter05/lockingglibc.xml
+++ b/chapter05/lockingglibc.xml
@@ -45,6 +45,35 @@ following commands to eliminate this possibility.</para>
<para><screen><userinput>rm -f /tools/lib/gcc-lib/*/*/include/{pthread.h,bits/sigthread.h}</userinput></screen></para>
+<caution><para>It is imperative at this point to stop and ensure that the
+basic functionality of the new toolchain is working as expected. We are going
+to perform a simple sanity check:</para>
+
+<para><screen><userinput>echo 'main(){}' > dummy.c
+gcc dummy.c
+readelf -l a.out | grep ': /tools'</userinput></screen></para>
+
+<para>If everything is working correctly, the output of the last command will
+be:</para>
+
+<para><screen>[Requesting program interpreter: /tools/lib/ld-linux.so.2]
+</screen></para>
+
+<para>If you did not receive the output as shown above then something is
+seriously wrong. You will need to investigate and retrace your steps to find
+out where the problem is and correct it. There is no point in continuing
+until this is done. Most likely, something went wrong with the specs file
+amendment above. Note especially that <filename>/tools/lib</filename> appears
+as the prefix of our dynamic linker. Of course, if you are working on a
+platform where the name of the dynamic linker is something other than
+<filename>ld-linux.so.2</filename> then the output will be slightly different.
+</para>
+
+<para>Once you are satisfied that all is well, clean up the test files:</para>
+
+<para><screen><userinput>rm dummy.c a.out</userinput></screen></para>
+</caution>
+
<para>This completes the installation of the self-contained toolchain, which
can now be used to build the rest of the temporary tools.</para>