Changeset 50645c8


Ignore:
Timestamp:
03/18/2020 08:24:08 AM (4 years ago)
Author:
Pierre Labastie <pieere@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
9822658
Parents:
ed64d91
Message:

Reorder gcc-pass2 to parallel gcc-pass1

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11788 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter05/gcc-pass2.xml

    red64d91 r50645c8  
    4444    <title>Installation of GCC</title>
    4545
    46     <para>Our first build of GCC has installed a couple of internal system
    47     headers.  Normally one of them, <filename>limits.h</filename>, will in turn
    48     include the corresponding system <filename>limits.h</filename> header, in
    49     this case, <filename>/tools/include/limits.h</filename>. However, at the
    50     time of the first build of gcc <filename>/tools/include/limits.h</filename>
    51     did not exist, so the internal header that GCC installed is a partial,
    52     self-contained file and does not include the extended features of the
    53     system header. This was adequate for building the temporary libc, but this
    54     build of GCC now requires the full internal header.  Create a full version
    55     of the internal header using a command that is identical to what the GCC
    56     build system does in normal circumstances:</para>
    57 
    58 <screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h &gt; \
    59   `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen>
    60 <!--
    61     <para>For x86 machines, the limited number of registers is a bottleneck
    62     for the system.  Free one up by not using a frame pointer that is not
    63     needed:</para>
    64 
    65 <screen><userinput remap="pre">case `uname -m` in
    66   i?86) sed -i 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in ;;
    67 esac</userinput></screen>
    68 -->
     46    <para>As in the first build of GCC, the GMP, MPFR, and MPC packages are
     47    required. Unpack the tarballs and move them into the required directory
     48    names:</para>
     49
     50<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
     51mv -v mpfr-&mpfr-version; mpfr
     52tar -xf ../gmp-&gmp-version;.tar.xz
     53mv -v gmp-&gmp-version; gmp
     54tar -xf ../mpc-&mpc-version;.tar.gz
     55mv -v mpc-&mpc-version; mpc</userinput></screen>
     56
    6957    <para>Once again, change the location of GCC's default dynamic linker to
    7058    use the one installed in <filename
     
    9482esac</userinput></screen>
    9583
    96     <para>As in the first build of GCC it requires the GMP, MPFR and MPC
    97     packages. Unpack the tarballs and move them into the required directory
    98     names:</para>
    99 
    100 <screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
    101 mv -v mpfr-&mpfr-version; mpfr
    102 tar -xf ../gmp-&gmp-version;.tar.xz
    103 mv -v gmp-&gmp-version; gmp
    104 tar -xf ../mpc-&mpc-version;.tar.gz
    105 mv -v mpc-&mpc-version; mpc</userinput></screen>
    106 
     84    <para>Our first build of GCC has installed a couple of internal system
     85    headers.  Normally one of them, <filename>limits.h</filename>, will in turn
     86    include the corresponding system <filename>limits.h</filename> header, in
     87    this case, <filename>/tools/include/limits.h</filename>. However, at the
     88    time of the first build of gcc <filename>/tools/include/limits.h</filename>
     89    did not exist, so the internal header that GCC installed is a partial,
     90    self-contained file and does not include the extended features of the
     91    system header. This was adequate for building the temporary libc, but this
     92    build of GCC now requires the full internal header.  Create a full version
     93    of the internal header using a command that is identical to what the GCC
     94    build system does in normal circumstances:</para>
     95
     96<screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h &gt; \
     97  `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen>
     98<!--
     99    <para>For x86 machines, the limited number of registers is a bottleneck
     100    for the system.  Free one up by not using a frame pointer that is not
     101    needed:</para>
     102
     103<screen><userinput remap="pre">case `uname -m` in
     104  i?86) sed -i 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in ;;
     105esac</userinput></screen>
     106-->
    107107    <para>Create a separate build directory again:</para>
    108108
Note: See TracChangeset for help on using the changeset viewer.