% % This is part of CLFSja package. % % This is a CTIE change file for the original XML source of the CLFSbook. % @x @y @z @x The GCC package contains the GNU compiler collection, which includes the C and C++ compilers. @y GCC パッケージは C コンパイラーや C++ コンパイラーなどの GNU コンパイラーコレクションを提供します。 @z @x Installation of GCC @y &InstallationOf1;GCC &InstallationOf2; @z @x The following patch contains a number of updates to the &gcc-version; branch by the GCC developers: @y 以下のパッチは、GCC 開発者による &gcc-version; ブランチの数々の更新を提供するものです。 @z @x Apply a sed substitution that will suppress the execution of the fixincludes script: @y 以下の sed コマンド置換によって、fixincludes スクリプトを実行しないようにします。 @z @x The GCC documentation recommends building GCC outside of the source directory in a dedicated build directory: @y GCC のドキュメントによると GCC のビルドにあたっては、ソースディレクトリ以外の専用のビルドディレクトリを作成することが推奨されています。 @z @x Prepare GCC for compilation: @y &PreparePackage1;GCC &PreparePackage2; @z @x The meaning of the new configure options: @y &MeaningOfOption1;configure &MeaningOfOption2; @z @x SED=sed This prevents a hard-coded path to /tools/bin/sed in the fixincl program. @y fixincl プログラムにおいて /tools/bin/sed へのパスがハードコーディングされないようにします。 @z @x --disable-bootstrap For a native build, GCC defaults to performing a 3-stage "bootstrap" of the compiler. This means that GCC is compiled a total of 3 times - it is compiled once, the first stage compiler is used to build itself again, and the second stage compiler builds itself once more. The second and third passes are then compared, verifying that GCC is able to reproduce itself successfully. However, there is no need for this with the CLFS build process so we disable it here. @y ネイティブビルドにおいて GCC はデフォルトでは3ステージめの "ブートストラップ" コンパイラーを用います。 これにより GCC は計3回コンパイルされるわけです。 1回めのコンパイルの後、このコンパイラーを用いて2回めが処理され、2回めのコンパイラーを使って再度コンパイルします。 そして2回めと3回めのコンパイラーが比較検証されて初めて、GCC が自分自身を生み出すことができることになります。 しかし CLFS のビルド手順においてこのようなことは不要です。 ここでそれを無効とします。 @z @x Compile the package: @y &CompileThePackage; @z @x Due to GCC's critical role in a properly functioning system, the CLFS developers strongly recommend running the testsuite. @y GCC はシステムを適切に動作させるための重要な役割を持っています。 したがって CLFS 開発者としてはテストスイートの実行を強く勧めます。 @z @x Increase the stack size prior to running the tests: @y テスト実施にあたり、スタックサイズを増やします。 @z @x Test the results, but do not stop at errors: @y ビルド結果をテストします。 エラーが発生しても停止しないようにします。 @z @x The -k flag is used to make the test suite run through to completion and not stop at the first failure. The GCC test suite is very comprehensive and is almost guaranteed to generate a few failures. To receive a summary of the test suite results, run: @y -k フラグをつけるのは最後までテストスイートを実行させるためです。 失敗があってもすぐ止まることがないようにします。 GCC のテストスイートは広範囲に行われるもので、たいていは正常実行されますが失敗するものも多少はあります。 テスト結果を確認するために以下を実行します。 @z @x For only the summaries, pipe the output through grep -A7 Summ. @y テスト結果の概略のみ確認したい場合は、出力結果をパイプ出力して grep -A7 Summ を実行してください。 @z @x A few unexpected failures cannot always be avoided. The GCC developers are usually aware of these issues, but have not resolved them yet. @y テストに失敗することがありますが、これを回避することはできません。 GCC の開発者はこの問題を認識していますが、まだ解決していない状況です。 @z @x Install the package: @y &InstallThePackage; @z @x Create a link to satisfy FHS requirements: @y FHS に準拠するためリンクを作成します。 @z @x Many packages use the name cc to call the C compiler. To satisfy those packages, create a symlink: @y 各種パッケージは C コンパイラーとして cc を呼び出しているものが数多くあります。 これに対応するため、以下のシンボリックリンクを作成します。 @z @x Finally, move a misplaced file: @y 最後に誤ったディレクトリにあるファイルを移動します。 @z @x Contents of GCC @y &ContentsOf1;GCC &ContentsOf2; @z @x Installed programs Installed libraries Installed directories @y &InstalledProgram; &InstalledLibrary; &InstalledDirectory; @z @x c++, cc (link to gcc), cpp, g++, gcc, gcov, gcov-tool libasan.[a,so], libatomic.[a,so], libcc1.so, libcilkrts.[a,so], libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, libgomp.[a,so], libiberty.a, libitm.[a,so], liblsan.[a,so], liblto_plugin.so, libquadmath.[a,so], libssp.[a,so], libssp_nonshared.a, libstdc++.[a,so], libsupc++.a, libtsan.[a,so], libubsan.[a,so], libvtv.[a,so] /usr/include/[c++,libiberty], /usr/lib/gcc, /usr/share/gcc-&gcc-version; @y c++, cc (&LinkTo1;gcc &LinkTo2;), cpp, g++, gcc, gcov, gcov-tool libasan.[a,so], libatomic.[a,so], libcc1.so, libcilkrts.[a,so], libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, libgomp.[a,so], libiberty.a, libitm.[a,so], liblsan.[a,so], liblto_plugin.so, libquadmath.[a,so], libssp.[a,so], libssp_nonshared.a, libstdc++.[a,so], libsupc++.a, libtsan.[a,so], libubsan.[a,so], libvtv.[a,so] /usr/include/[c++,libiberty], /usr/lib/gcc, /usr/share/gcc-&gcc-version; @z @x Short Descriptions @y &ShortDescriptions; @z @x cc The C compiler @y C コンパイラー @z @x cpp The C preprocessor; it is used by the compiler to expand the #include, #define, and similar statements in the source files @y C プリプロセッサー。 コンパイラーがこれを利用して、ソース内に記述された #include、#define や同じようなステートメントを展開します。 @z @x c++ The C++ compiler @y C++ コンパイラー @z @x g++ The C++ compiler @y C++ コンパイラー @z @x gcc The C compiler @y C コンパイラー @z @x gcov A coverage testing tool; it is used to analyze programs to determine where optimizations will have the most effect @y カバレッジテストツール。 プログラムを解析して、最適化が最も効果的となるのはどこかを特定します。 @z @x gcov-tool An offline tool to handle gcda counts @y gcda カウントを取り扱うオフラインツール。 @z @x libasan The Address Sanitizer runtime library @y アドレスサニタイザー (Address Sanitizer) のランタイムライブラリ。 @z @x libatomic A GCC support runtime library for atomic operations not supported by hardware @y ハードウェアではサポートされないアトミック操作 (atomic operations) のために GCC がサポートするランタイムライブラリ。 @z @x libcc1 Translates API into RPC calls @y API を RPC コールに変換します。 @z @x libcilkrts Intel® Cilk™ Plus runtime library @y Intel® Cilk™ Plus ランタイムライブラリ。 @z @x libgcc Contains run-time support for gcc @y gcc のランタイムサポートを提供します。 @z @x libgcov Library that is linked into a program when gcc is instructed to enable profiling @y gcc のプロファイリングを有効にした場合にこのライブラリがリンクされます。 @z @x libgomp GNU implementation of the OpenMP API for multi-platform shared-memory parallel programming in C/C++ and Fortran @y C/C++ や Fortran においてマルチプラットフォームでの共有メモリ並行プログラミング (multi-platform shared-memory parallel programming) を行うための GNU による OpenMP API インプリメンテーションです。 @z @x libiberty Contains routines used by various GNU programs, including getopt, obstack, strerror, strtol, and strtoul @y 以下に示すような数多くの GNU プログラムが利用する処理ルーチンを提供します。 getoptobstackstrerrorstrtolstrtoul @z @x libitm The GNU Transactional Memory Library, which provides transaction support for accesses to a process's memory @y GNU トランザクショナルメモリ (GNU Transactional Memory) ライブラリ。 これはプロセスのメモリ上へのトランザクションを考慮したサポートを行います。 @z @x liblsan The Leak Sanitizer runtime library @y Leak Sanitizer ランタイムライブラリ。 @z @x liblto_plugin Runtime library for GCC's link-time optimization plugin @y GCC のリンク時における最適化プラグインのためのランタイムライブラリ。 @z @x libquadmath The GCC Quad-Precision Math Libarary API @y GCC の4倍精度数値演算 (Quad Precision Math) ライブラリ API @z @x libssp Contains routines supporting GCC's stack-smashing protection functionality @y GCC のスタック破壊を防止する (stack-smashing protection) 機能をサポートするルーチンを提供します。 @z @x libstdc++ The standard C++ library @y 標準 C++ ライブラリ @z @x libsupc++ Provides supporting routines for the C++ programming language @y C++ プログラミング言語のためのサポートルーチンを提供します。 @z @x libtsan The Thread Sanitizer runtime library @y スレッドサニタイザー (Thread Sanitizer) のランタイムライブラリ。 @z @x libubsan The Undefined Behavior Sanitizer runtime library @y Undefined Behavior Sanitizer ランタイムライブラリ。 @z @x libvtv The Virtual Table Verification runtime library @y Virtual Table Verification ランタイムライブラリ。 @z