|
@@ -65,10 +65,11 @@
|
|
|
|
|
|
</variablelist>
|
|
|
|
|
|
- <para>As an example, let us imagine the following scenario: we may have a
|
|
|
+ <para>As an example, let us imagine the following scenario (sometimes
|
|
|
+ referred to as <quote>Canadian Cross</quote>): we may have a
|
|
|
compiler on a slow machine only, let's call the machine A, and the compiler
|
|
|
ccA. We may have also a fast machine (B), but with no compiler, and we may
|
|
|
- want to produce code for a another slow machine (C). Then, to build a
|
|
|
+ want to produce code for another slow machine (C). To build a
|
|
|
compiler for machine C, we would have three stages:</para>
|
|
|
|
|
|
<informaltable align="center">
|
|
@@ -88,7 +89,7 @@
|
|
|
<entry>build cross-compiler cc1 using ccA on machine A</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
- <entry>2</entry><entry>A</entry><entry>B</entry><entry>B</entry>
|
|
|
+ <entry>2</entry><entry>A</entry><entry>B</entry><entry>C</entry>
|
|
|
<entry>build cross-compiler cc2 using cc1 on machine A</entry>
|
|
|
</row>
|
|
|
<row>
|
|
@@ -215,9 +216,9 @@
|
|
|
instructions not available in the assembler instruction set. This
|
|
|
internal library is named libgcc, and must be linked to the glibc
|
|
|
library to be fully functional! Furthermore, the standard library for
|
|
|
- C++ (libstdc++) also needs being linked to glibc. The solution
|
|
|
- to this chicken and egg problem is to first build a degraded cc1 based libgcc,
|
|
|
- lacking some fuctionalities such as threads and exception handling, then
|
|
|
+ C++ (libstdc++) also needs being linked to glibc. The solution to this
|
|
|
+ chicken and egg problem is to first build a degraded cc1 based libgcc,
|
|
|
+ lacking some functionalities such as threads and exception handling, then
|
|
|
build glibc using this degraded compiler (glibc itself is not
|
|
|
degraded), then build libstdc++. But this last library will lack the
|
|
|
same functionalities as libgcc.</para>
|