- Timestamp:
- 11/11/2022 04:19:44 PM (2 years ago)
- 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. - Location:
- chapter06
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/binutils-pass2.xml
r1a77314f rf8ffc3a5 46 46 <!-- Don't remove this until Binutils upstream updates the libtool 47 47 copy. On some host distros the issue doesn't show up. --> 48 <para>Binutils ships an outdated libtool copyin the tarball. It lacks49 sysroot support so the produced binaries will be mistakenly linked to50 libraries from the host distro. Work around 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> 51 51 52 52 <screen><userinput remap="pre">sed '6009s/$add_dir//' -i ltmain.sh</userinput></screen> … … 84 84 <term><parameter>--enable-64-bit-bfd</parameter></term> 85 85 <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> 88 88 </listitem> 89 89 </varlistentry> -
chapter06/file.xml
r1a77314f rf8ffc3a5 46 46 <para> 47 47 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: 50 51 </para> 51 52 -
chapter06/gcc-pass2.xml
r1a77314f rf8ffc3a5 49 49 --> 50 50 <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> 53 52 54 53 <screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz … … 109 108 a cross-compiler is used for building GCC, and that compiler knows 110 109 that it has to look for headers and libraries in <filename 111 class="directory">$LFS</filename>. But the build system ofGCC uses110 class="directory">$LFS</filename>. But the build system for GCC uses 112 111 other tools, which are not aware of this location. This switch is 113 needed to have themfind the needed files in <filename112 needed so those tools will find the needed files in <filename 114 113 class="directory">$LFS</filename>, and not on the host.</para> 115 114 </listitem> … … 119 118 <term><parameter>--target=$LFS_TGT</parameter></term> 120 119 <listitem> 121 <para> As we are cross-compiling GCC,it's impossible to build120 <para>We are cross-compiling GCC, so it's impossible to build 122 121 target libraries (<filename class="libraryfile">libgcc</filename> 123 122 and <filename class="libraryfile">libstdc++</filename>) with the 124 compiled GCC binaries because these binaries won't run on the125 host distro. GCC building system will attempt to use the126 C and C++ compilers on the host distroas a workaround by default.127 It's not supported to buildGCC target libraries with a different128 version of GCC , so using host compilers may cause building129 failure. This parameter ensures to build the libraries withGCC130 pass 1 and prevent the issue.</para>123 previously compiled GCC binaries—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> 131 130 </listitem> 132 131 </varlistentry> … … 136 135 <listitem> 137 136 <para>Allow <filename class="libraryfile">libstdc++</filename> to 138 use shared <filename class="libraryfile">libgcc</filename> being139 built in this pass, instead of the static version built in GCC140 pass 1. This is ne eded for supportingC++ exception137 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 141 140 handling.</para> 142 141 </listitem> -
chapter06/introduction.xml
r1a77314f rf8ffc3a5 17 17 linking.</para> 18 18 19 <para>Using the utilities will be possible in next chapter after entering19 <para>Using the utilities will be possible in the next chapter after entering 20 20 the <quote>chroot</quote> environment. But all the packages built in the 21 21 present chapter need to be built before we do that. Therefore we cannot be -
chapter06/make.xml
r1a77314f rf8ffc3a5 43 43 <title>Installation of Make</title> 44 44 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 45 51 <para>Prepare Make for compilation:</para> 46 52 -
chapter06/ncurses.xml
r1a77314f rf8ffc3a5 120 120 <listitem> 121 121 <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 available122 compiler, which may be present on the host but will not be available 123 123 once we enter the <command>chroot</command> environment.</para> 124 124 </listitem> … … 128 128 <term><parameter>--disable-stripping</parameter></term> 129 129 <listitem> 130 <para>This switch prevents the building system from stripping131 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> 133 133 </listitem> 134 134 </varlistentry> … … 170 170 <term><parameter>TIC_PATH=$(pwd)/build/progs/tic</parameter></term> 171 171 <listitem> 172 <para>We need to pass the path of the justbuilt173 <command>tic</command> able to run on the building machine, so that172 <para>We need to pass the path of the newly built 173 <command>tic</command> program that runs on the building machine, so 174 174 the terminal database can be created without errors.</para> 175 175 </listitem>
Note:
See TracChangeset
for help on using the changeset viewer.