2 % This is part of CLFSja package.
4 % This is a CTIE change file for the original XML source of the CLFSbook.
7 <?xml version="1.0" encoding="ISO-8859-1"?>
9 <?xml version="1.0" encoding="UTF-8"?>
13 <para>The GCC package contains the GNU compiler collection, which includes
14 the C and C++ compilers.</para>
17 GCC パッケージは C コンパイラーや C++ コンパイラーなどの GNU コンパイラーコレクションを提供します。
22 <title>Installation of GCC</title>
24 <title>&InstallationOf1;GCC &InstallationOf2;</title>
28 <para os="p1">The following patch contains a number of updates to the
29 &gcc-version; branch by the GCC developers:</para>
32 以下のパッチは、GCC 開発者による &gcc-version; ブランチの数々の更新を提供するものです。
37 <para os="fix1">Apply a <command>sed</command> substitution that will
38 suppress the execution of the <command>fixincludes</command> script:</para>
41 以下の <command>sed</command> コマンド置換によって、<command>fixincludes</command> スクリプトを実行しないようにします。
46 <para os="f">The GCC documentation recommends building GCC outside of the source
47 directory in a dedicated build directory:</para>
50 GCC のドキュメントによると GCC のビルドにあたっては、ソースディレクトリ以外の専用のビルドディレクトリを作成することが推奨されています。
55 <para os="h">Prepare GCC for compilation:</para>
57 <para os="h">&PreparePackage1;GCC &PreparePackage2;</para>
61 <title>The meaning of the new configure options:</title>
63 <title>&MeaningOfOption1;configure &MeaningOfOption2;</title>
67 <para>This prevents a hard-coded path to
68 <filename>/tools/bin/sed</filename> in the <command>fixincl</command>
72 <command>fixincl</command> プログラムにおいて <filename>/tools/bin/sed</filename> へのパスがハードコーディングされないようにします。
76 @x --disable-bootstrap
77 <para>For a native build, GCC defaults to performing a 3-stage
78 "bootstrap" of the compiler. This means that GCC is compiled a total
79 of 3 times - it is compiled once, the first stage compiler is used
80 to build itself again, and the second stage compiler builds itself
81 once more. The second and third passes are then compared, verifying
82 that GCC is able to reproduce itself successfully. However, there is
83 no need for this with the CLFS build process so we disable it here.</para>
86 ネイティブビルドにおいて GCC はデフォルトでは3ステージめの "ブートストラップ" コンパイラーを用います。
87 これにより GCC は計3回コンパイルされるわけです。
88 1回めのコンパイルの後、このコンパイラーを用いて2回めが処理され、2回めのコンパイラーを使って再度コンパイルします。
89 そして2回めと3回めのコンパイラーが比較検証されて初めて、GCC が自分自身を生み出すことができることになります。
90 しかし CLFS のビルド手順においてこのようなことは不要です。
96 <para os="j">Compile the package:</para>
98 <para os="j">&CompileThePackage;</para>
102 <para>Due to GCC's critical role in a properly functioning system,
103 the CLFS developers strongly recommend running the testsuite.</para>
106 GCC はシステムを適切に動作させるための重要な役割を持っています。
107 したがって CLFS 開発者としてはテストスイートの実行を強く勧めます。
112 <para os="s1">Increase the stack size prior to running the tests:</para>
115 テスト実施にあたり、スタックサイズを増やします。
120 <para os="m">Test the results, but do not stop at errors:</para>
124 エラーが発生しても停止しないようにします。
129 <para os="o">The <parameter>-k</parameter> flag is used to make the test suite
130 run through to completion and not stop at the first failure. The GCC test
131 suite is very comprehensive and is almost guaranteed to generate a few
132 failures. To receive a summary of the test suite results, run:</para>
135 <parameter>-k</parameter> フラグをつけるのは最後までテストスイートを実行させるためです。
136 失敗があってもすぐ止まることがないようにします。
137 GCC のテストスイートは広範囲に行われるもので、たいていは正常実行されますが失敗するものも多少はあります。
138 テスト結果を確認するために以下を実行します。
143 <para os="q">For only the summaries, pipe the output through
144 <userinput>grep -A7 Summ</userinput>.</para>
147 テスト結果の概略のみ確認したい場合は、出力結果をパイプ出力して <userinput>grep -A7 Summ</userinput> を実行してください。
152 <para os="r">A few unexpected failures cannot always be avoided. The
153 GCC developers are usually aware of these issues, but have not
154 resolved them yet.</para>
157 テストに失敗することがありますが、これを回避することはできません。
158 GCC の開発者はこの問題を認識していますが、まだ解決していない状況です。
163 <para os="s">Install the package:</para>
165 <para os="s">&InstallThePackage;</para>
169 <para os="w">Create a link to satisfy FHS requirements:</para>
172 FHS に準拠するためリンクを作成します。
177 <para os="y">Many packages use the name <command>cc</command> to call the C
178 compiler. To satisfy those packages, create a symlink:</para>
181 各種パッケージは C コンパイラーとして <command>cc</command> を呼び出しているものが数多くあります。
182 これに対応するため、以下のシンボリックリンクを作成します。
187 <para os="aa">Finally, move a misplaced file:</para>
190 最後に誤ったディレクトリにあるファイルを移動します。
195 <title>Contents of GCC</title>
197 <title>&ContentsOf1;GCC &ContentsOf2;</title>
201 <segtitle>Installed programs</segtitle>
202 <segtitle>Installed libraries</segtitle>
203 <segtitle>Installed directories</segtitle>
205 <segtitle>&InstalledProgram;</segtitle>
206 <segtitle>&InstalledLibrary;</segtitle>
207 <segtitle>&InstalledDirectory;</segtitle>
211 <seg>c++, cc (link to gcc), cpp, g++, gcc, gcov, gcov-tool</seg>
212 <seg>libasan.[a,so], libatomic.[a,so], libcc1.so, libcilkrts.[a,so],
213 libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, libgomp.[a,so],
214 libiberty.a, libitm.[a,so], liblsan.[a,so], liblto_plugin.so,
215 libquadmath.[a,so], libssp.[a,so], libssp_nonshared.a,
216 libstdc++.[a,so], libsupc++.a, libtsan.[a,so], libubsan.[a,so],
218 <seg>/usr/include/[c++,libiberty], /usr/lib/gcc,
219 /usr/share/gcc-&gcc-version;</seg>
221 <seg>c++, cc (&LinkTo1;gcc &LinkTo2;), cpp, g++, gcc, gcov, gcov-tool</seg>
222 <seg>libasan.[a,so], libatomic.[a,so], libcc1.so, libcilkrts.[a,so],
223 libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, libgomp.[a,so],
224 libiberty.a, libitm.[a,so], liblsan.[a,so], liblto_plugin.so,
225 libquadmath.[a,so], libssp.[a,so], libssp_nonshared.a,
226 libstdc++.[a,so], libsupc++.a, libtsan.[a,so], libubsan.[a,so],
228 <seg>/usr/include/[c++,libiberty], /usr/lib/gcc,
229 /usr/share/gcc-&gcc-version;</seg>
233 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
235 <bridgehead renderas="sect3">&ShortDescriptions;</bridgehead>
239 <para>The C compiler</para>
241 <para>C コンパイラー</para>
245 <para>The C preprocessor; it is used by the compiler to expand the
246 #include, #define, and similar statements in the source files</para>
250 コンパイラーがこれを利用して、ソース内に記述された #include、#define や同じようなステートメントを展開します。
255 <para>The C++ compiler</para>
257 <para>C++ コンパイラー</para>
261 <para>The C++ compiler</para>
263 <para>C++ コンパイラー</para>
267 <para>The C compiler</para>
269 <para>C コンパイラー</para>
273 <para>A coverage testing tool; it is used to analyze programs to
274 determine where optimizations will have the most effect</para>
278 プログラムを解析して、最適化が最も効果的となるのはどこかを特定します。
283 <para>An offline tool to handle gcda counts</para>
286 gcda カウントを取り扱うオフラインツール。
291 <para>The Address Sanitizer runtime library</para>
294 アドレスサニタイザー (Address Sanitizer) のランタイムライブラリ。
299 <para>A GCC support runtime library for atomic operations not
300 supported by hardware</para>
303 ハードウェアではサポートされないアトミック操作 (atomic operations) のために GCC がサポートするランタイムライブラリ。
308 <para>Translates API into RPC calls</para>
316 <para>Intel® Cilk™ Plus runtime library</para>
319 Intel® Cilk™ Plus ランタイムライブラリ。
324 <para>Contains run-time support for <command>gcc</command></para>
327 <command>gcc</command> のランタイムサポートを提供します。
332 <para>Library that is linked into a program when
333 <command>gcc</command> is instructed to enable profiling</para>
336 <command>gcc</command> のプロファイリングを有効にした場合にこのライブラリがリンクされます。
341 <para>GNU implementation of the OpenMP API for multi-platform
342 shared-memory parallel programming in C/C++ and Fortran</para>
345 C/C++ や Fortran においてマルチプラットフォームでの共有メモリ並行プログラミング
346 (multi-platform shared-memory parallel programming)
347 を行うための GNU による OpenMP API インプリメンテーションです。
352 <para>Contains routines used by various GNU programs, including
353 <command>getopt</command>, <command>obstack</command>,
354 <command>strerror</command>, <command>strtol</command>, and
355 <command>strtoul</command></para>
358 以下に示すような数多くの GNU プログラムが利用する処理ルーチンを提供します。
359 <command>getopt</command>、
360 <command>obstack</command>、
361 <command>strerror</command>、
362 <command>strtol</command>、
363 <command>strtoul</command>
368 <para>The GNU Transactional Memory Library, which provides
369 transaction support for accesses to a process's memory</para>
372 GNU トランザクショナルメモリ (GNU Transactional Memory) ライブラリ。
373 これはプロセスのメモリ上へのトランザクションを考慮したサポートを行います。
378 <para>The Leak Sanitizer runtime library</para>
381 Leak Sanitizer ランタイムライブラリ。
386 <para>Runtime library for GCC's link-time optimization plugin</para>
389 GCC のリンク時における最適化プラグインのためのランタイムライブラリ。
394 <para>The GCC Quad-Precision Math Libarary API</para>
397 GCC の4倍精度数値演算 (Quad Precision Math) ライブラリ API
402 <para>Contains routines supporting GCC's stack-smashing protection
406 GCC のスタック破壊を防止する (stack-smashing protection) 機能をサポートするルーチンを提供します。
411 <para>The standard C++ library</para>
413 <para>標準 C++ ライブラリ</para>
417 <para>Provides supporting routines for the C++ programming
421 C++ プログラミング言語のためのサポートルーチンを提供します。
426 <para>The Thread Sanitizer runtime library</para>
429 スレッドサニタイザー (Thread Sanitizer) のランタイムライブラリ。
434 <para>The Undefined Behavior Sanitizer runtime library</para>
437 Undefined Behavior Sanitizer ランタイムライブラリ。
442 <para>The Virtual Table Verification runtime library</para>
445 Virtual Table Verification ランタイムライブラリ。