Changeset f8ffc3a5 for chapter06


Ignore:
Timestamp:
11/11/2022 04:19:44 PM (2 years ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
xry111/arm64, xry111/arm64-12.0
Children:
1ace465
Parents:
1a77314f (diff), c4fc75e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge remote-tracking branch 'origin/trunk' into xry111/arm64

Location:
chapter06
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • chapter06/binutils-pass2.xml

    r1a77314f rf8ffc3a5  
    4646    <!-- Don't remove this until Binutils upstream updates the libtool
    4747         copy.  On some host distros the issue doesn't show up.  -->
    48     <para>Binutils ships an outdated libtool copy in the tarball.  It lacks
    49     sysroot support so the produced binaries will be mistakenly linked to
    50     libraries from the host distro.  Workaround this issue:</para>
     48    <para>Binutils ships an outdated copy of libtool in the tarball.  It lacks
     49    sysroot support, so the produced binaries will be mistakenly linked to
     50    libraries from the host distro.  Work around this issue:</para>
    5151
    5252<screen><userinput remap="pre">sed '6009s/$add_dir//' -i ltmain.sh</userinput></screen>
     
    8484        <term><parameter>--enable-64-bit-bfd</parameter></term>
    8585        <listitem>
    86           <para>Enables 64-bit support (on hosts with narrower word sizes).
    87           May not be needed on 64-bit systems, but does no harm.</para>
     86          <para>Enables 64-bit support (on hosts with smaller word sizes).
     87          This may not be needed on 64-bit systems, but it does no harm.</para>
    8888        </listitem>
    8989      </varlistentry>
  • chapter06/file.xml

    r1a77314f rf8ffc3a5  
    4646    <para>
    4747       The <command>file</command> command on the build host needs
    48        to be same version as the one we are building in order to
    49        create the signature file. Run the following commands to build it:
     48       to be the same version as the one we are building in order to
     49       create the signature file. Run the following commands to make a
     50       temporary copy of the <command>file</command> command:
    5051    </para>
    5152
  • chapter06/gcc-pass2.xml

    r1a77314f rf8ffc3a5  
    4949-->
    5050    <para>As in the first build of GCC, the GMP, MPFR, and MPC packages are
    51     required. Unpack the tarballs and move them into the required directory
    52     names:</para>
     51    required. Unpack the tarballs and move them into the required directories:</para>
    5352
    5453<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
     
    109108          a cross-compiler is used for building GCC, and that compiler knows
    110109          that it has to look for headers and libraries in <filename
    111           class="directory">$LFS</filename>. But the build system of GCC uses
     110          class="directory">$LFS</filename>. But the build system for GCC uses
    112111          other tools, which are not aware of this location. This switch is
    113           needed to have them find the needed files in <filename
     112          needed so those tools will find the needed files in <filename
    114113          class="directory">$LFS</filename>, and not on the host.</para>
    115114        </listitem>
     
    119118        <term><parameter>--target=$LFS_TGT</parameter></term>
    120119        <listitem>
    121           <para>As we are cross-compiling GCC, it's impossible to build
     120          <para>We are cross-compiling GCC, so it's impossible to build
    122121          target libraries (<filename class="libraryfile">libgcc</filename>
    123122          and <filename class="libraryfile">libstdc++</filename>) with the
    124           compiled GCC binaries because these binaries won't run on the
    125           host distro.  GCC building system will attempt to use the
    126           C and C++ compilers on the host distro as a workaround by default.
    127           It's not supported to build GCC target libraries with a different
    128           version of GCC, so using host compilers may cause building
    129           failure.  This parameter ensures to build the libraries with GCC
    130           pass 1 and prevent the issue.</para>
     123          previously compiled GCC binaries&mdash;those binaries won't run on the
     124          host.  The GCC build system will attempt to use the host's
     125          C and C++ compilers as a workaround by default.
     126          Building the GCC target libraries with a different
     127          version of GCC is not supported, so using the host's compilers may cause
     128          the build to fail. This parameter ensures the libraries are built by GCC
     129          pass 1.</para>
    131130        </listitem>
    132131      </varlistentry>
     
    136135        <listitem>
    137136          <para>Allow <filename class="libraryfile">libstdc++</filename> to
    138           use shared <filename class="libraryfile">libgcc</filename> being
    139           built in this pass, instead of the static version built in GCC
    140           pass 1. This is needed for supporting C++ exception
     137          use the shared <filename class="libraryfile">libgcc</filename> being
     138          built in this pass, instead of the static version that was built in GCC
     139          pass 1. This is necessary to support C++ exception
    141140          handling.</para>
    142141        </listitem>
  • chapter06/introduction.xml

    r1a77314f rf8ffc3a5  
    1717  linking.</para>
    1818
    19   <para>Using the utilities will be possible in next chapter after entering
     19  <para>Using the utilities will be possible in the next chapter after entering
    2020  the <quote>chroot</quote> environment. But all the packages built in the
    2121  present chapter need to be built before we do that. Therefore we cannot be
  • chapter06/make.xml

    r1a77314f rf8ffc3a5  
    4343    <title>Installation of Make</title>
    4444
     45    <para>First, fix an issue identified upstream:</para>
     46
     47<screen><userinput remap="pre">sed -e '/ifdef SIGPIPE/,+2 d' \
     48    -e '/undef  FATAL_SIG/i FATAL_SIG (SIGPIPE);' \
     49    -i src/main.c</userinput></screen>
     50
    4551    <para>Prepare Make for compilation:</para>
    4652
  • chapter06/ncurses.xml

    r1a77314f rf8ffc3a5  
    120120        <listitem>
    121121          <para>This ensures that Ncurses does not build support for the Ada
    122           compiler which may be present on the host but will not be available
     122          compiler, which may be present on the host but will not be available
    123123          once we enter the <command>chroot</command> environment.</para>
    124124        </listitem>
     
    128128        <term><parameter>--disable-stripping</parameter></term>
    129129        <listitem>
    130           <para>This switch prevents the building system from stripping
    131           the programs using <command>strip</command> program from the host.
    132           Using host tools on cross-compiled program can cause failure.</para>
     130          <para>This switch prevents the building system from
     131          using the <command>strip</command> program from the host.
     132          Using host tools on cross-compiled programs can cause failure.</para>
    133133        </listitem>
    134134      </varlistentry>
     
    170170        <term><parameter>TIC_PATH=$(pwd)/build/progs/tic</parameter></term>
    171171        <listitem>
    172           <para>We need to pass the path of the just built
    173           <command>tic</command> able to run on the building machine, so that
     172          <para>We need to pass the path of the newly built
     173          <command>tic</command> program that runs on the building machine, so
    174174          the terminal database can be created without errors.</para>
    175175        </listitem>
Note: See TracChangeset for help on using the changeset viewer.