1 | <sect2>
|
---|
2 | <title>Command explanations</title>
|
---|
3 |
|
---|
4 | <para><userinput>patch -Np1 -i ../gcc-&gcc-patch-version;.patch:</userinput>
|
---|
5 | This patch fixes a few bugs. In particular it contains the "copy fix" and
|
---|
6 | "var fix" documented at
|
---|
7 | <ulink url="http://www.zipworld.com.au/~gschafer/lfs-tweaks.html"/>.</para>
|
---|
8 |
|
---|
9 | <para><userinput>patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch:</userinput>
|
---|
10 | This prevents the fixincludes script from running. This is needed because
|
---|
11 | under normal circumstances the GCC installation will run the fixincludes
|
---|
12 | scripts which scans your system for header files that need to be fixed. Say
|
---|
13 | it finds Glibc header files. It will fix them and will end up in
|
---|
14 | $LFS/static/lib/gcc-lib/i686-pc-linux-gnu/3.2. Later on in chapter 6 you
|
---|
15 | will install Glibc which will install header files in /usr/include. Next
|
---|
16 | you will install other programs which will use Glibc headers. GCC will look
|
---|
17 | in /static/lib/gcc-lib before looking in /usr/include, whichhas the result
|
---|
18 | of Glibc header files from your host distribution being found and used which
|
---|
19 | are probably incompatible with the Glibc version actually in use on the LFS
|
---|
20 | system.</para>
|
---|
21 |
|
---|
22 | <para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hard
|
---|
23 | codes some paths while compiling and so we need to pass /static as the
|
---|
24 | prefix during ./configure. We pass the real install prefix during the
|
---|
25 | make install command later.</para>
|
---|
26 |
|
---|
27 | <para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput>
|
---|
28 | This defines the .hidden assembler directive so that we don't build
|
---|
29 | a faulty Glibc later on.</para>
|
---|
30 |
|
---|
31 | <para><userinput>make BOOT_LDFLAGS=-static:</userinput>
|
---|
32 | This is the equivalent to make LDFLAGS=-static as we use with other
|
---|
33 | packages to compile them statically.</para>
|
---|
34 |
|
---|
35 | <para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> This
|
---|
36 | creates the $LFS/static/bin/gcc symlink, which some packages need.</para>
|
---|
37 |
|
---|
38 | </sect2>
|
---|