Changeset 7e62bbc
- Timestamp:
- 09/18/2021 02:43:15 AM (21 months ago)
- Branches:
- 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, arm, bdubbs/gcc13, multilib, s6-init, trunk, xry111/arm64, xry111/clfs-ng, xry111/glibc-2.37, xry111/kcfg-revise, xry111/lfs-next, xry111/pip3, xry111/queue-11.3, xry111/rust-wip-20221008
- Children:
- 716db1f, d887817
- Parents:
- 43b6ecd
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
part3intro/toolchaintechnotes.xml
r43b6ecd r7e62bbc 39 39 40 40 <para>Cross-compilation involves some concepts that deserve a section on 41 their own. Although this section may be omitted in a first reading, it42 is strongly suggested to come back to it later in order to get a full43 grasp of the buildprocess.</para>41 their own. Although this section may be omitted in a first reading, 42 coming back to it later will be beneficial to your full understanding of 43 the process.</para> 44 44 45 45 <para>Let us first define some terms used in this context:</para> … … 68 68 <para>As an example, let us imagine the following scenario (sometimes 69 69 referred to as <quote>Canadian Cross</quote>): we may have a 70 compiler on a slow machine only, let's call themachine A, and the compiler70 compiler on a slow machine only, let's call it machine A, and the compiler 71 71 ccA. We may have also a fast machine (B), but with no compiler, and we may 72 72 want to produce code for another slow machine (C). To build a … … 142 142 reader may wonder why a <quote>triplet</quote> refers to a four component 143 143 name. The reason is history: initially, three component names were enough 144 to designate unambiguously a machine, but with new machines and systems144 to designate a machine unambiguously, but with new machines and systems 145 145 appearing, that proved insufficient. The word <quote>triplet</quote> 146 146 remained. A simple way to determine your machine triplet is to run … … 157 157 provided by Glibc finds and loads the shared libraries needed by a 158 158 program, prepares the program to run, and then runs it. The name of the 159 dynamic linker for a 32-bit Intel machine will be<filename160 class="libraryfile">ld-linux.so.2</filename> (<filename161 class="libraryfile">ld-linux-x86-64.so.2</filename> for 64-bit systems ). A159 dynamic linker for a 32-bit Intel machine is <filename 160 class="libraryfile">ld-linux.so.2</filename> and is<filename 161 class="libraryfile">ld-linux-x86-64.so.2</filename> for 64-bit systems. A 162 162 sure-fire way to determine the name of the dynamic linker is to inspect a 163 163 random binary from the host system by running: <userinput>readelf -l … … 168 168 </note> 169 169 170 <para>In order to fake a cross compilation , the name of the host triplet170 <para>In order to fake a cross compilation in LFS, the name of the host triplet 171 171 is slightly adjusted by changing the "vendor" field in the 172 172 <envar>LFS_TGT</envar> variable. We also use the … … 296 296 parameter passed to its configure script; e.g. in our case, the compiler 297 297 will be <command>$LFS_TGT-gcc</command>. The binary tools and kernel 298 headers can be a bit more complicated. Therefore, take no risks and use298 headers can be a bit more complicated. Therefore, we take no risks and use 299 299 the available configure switches to enforce the correct selections. After 300 300 the run of <command>configure</command>, check the contents of the
Note:
See TracChangeset
for help on using the changeset viewer.