diff options
Diffstat (limited to 'chapter05')
-rw-r--r-- | chapter05/gcc-exp.xml | 17 | ||||
-rw-r--r-- | chapter05/gcc-inst.xml | 7 |
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 && +<para><screen><userinput>patch -Np1 -i ../gcc-&gcc-patch-version;.patch && +mkdir ../gcc-build && cd ../gcc-build && ../gcc-&gcc-version;/configure --prefix=/static --enable-languages=c \ - --disable-nls --disable-shared --enable-threads=posix && -echo "#define HAVE_GAS_HIDDEN 1" >> gcc/auto-host.h && + --disable-nls --disable-shared --enable-threads=posix \ + --enable-__cxa-atexit && make BOOT_LDFLAGS=-static bootstrap && make prefix=$LFS/static install && ln -s gcc $LFS/static/bin/cc</userinput></screen></para> |