aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05
diff options
context:
space:
mode:
Diffstat (limited to 'chapter05')
-rw-r--r--chapter05/gcc-exp.xml17
-rw-r--r--chapter05/gcc-inst.xml7
2 files changed, 15 insertions, 9 deletions
diff --git a/chapter05/gcc-exp.xml b/chapter05/gcc-exp.xml
index 254e713ff..271a30663 100644
--- a/chapter05/gcc-exp.xml
+++ b/chapter05/gcc-exp.xml
@@ -1,9 +1,10 @@
<sect2>
<title>Command explanations</title>
-<para><userinput>make BOOT_LDFLAGS=-static:</userinput>
-This is the equivalent to make LDFLAGS=-static as we use with other
-packages to compile them statically.</para>
+<para><userinput>patch -Np1 -i ../gcc-&gcc-patch-version;.patch:</userinput>
+This patch fixes a few bug fixes. See
+<ulink url="http://www.zipworld.com.au/~gschafer/lfs-tweaks.html"/> for
+more details.</para>
<para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hard
codes some paths while compiling and so we need to pass /static as the
@@ -18,9 +19,13 @@ the --enable-languages parameter may be omitted.</para>
<para><userinput>--enable-threads=posix:</userinput> This enables C++
exception handling for multithreaded code.</para>
-<para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput>
-This defines the .hidden assembler directive so that we don't build
-a faulty Glibc later on.</para>
+<para><userinput>--enable-__cxa-atexit:</userinput> This option will result
+in C++ shared libraries and C++ programs that are interoperable with other
+linux distributions.</para>
+
+<para><userinput>make BOOT_LDFLAGS=-static:</userinput>
+This is the equivalent to make LDFLAGS=-static as we use with other
+packages to compile them statically.</para>
<para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> This
creates the $LFS/static/bin/gcc symlink which some packages need.</para>
diff --git a/chapter05/gcc-inst.xml b/chapter05/gcc-inst.xml
index c0a9c97ef..021dd9b03 100644
--- a/chapter05/gcc-inst.xml
+++ b/chapter05/gcc-inst.xml
@@ -10,11 +10,12 @@ been warned.</para>
<para>Install GCC by running the following commands:</para>
-<para><screen><userinput>mkdir ../gcc-build &amp;&amp;
+<para><screen><userinput>patch -Np1 -i ../gcc-&gcc-patch-version;.patch &amp;&amp;
+mkdir ../gcc-build &amp;&amp;
cd ../gcc-build &amp;&amp;
../gcc-&gcc-version;/configure --prefix=/static --enable-languages=c \
-&nbsp;&nbsp;&nbsp;--disable-nls --disable-shared --enable-threads=posix &amp;&amp;
-echo "#define HAVE_GAS_HIDDEN 1" >> gcc/auto-host.h &amp;&amp;
+&nbsp;&nbsp;&nbsp;--disable-nls --disable-shared --enable-threads=posix \
+&nbsp;&nbsp;&nbsp;--enable-__cxa-atexit &amp;&amp;
make BOOT_LDFLAGS=-static bootstrap &amp;&amp;
make prefix=$LFS/static install &amp;&amp;
ln -s gcc $LFS/static/bin/cc</userinput></screen></para>