Chapter 5. gcc デフォルト最適化

Note: 寄稿者 Brian Gallew ()

gcc でデフォルトで特定のフラグを使うための設定は、 /usr/local/lib/gcc-lib/platform/version/specs ファイルを編集するだけの簡単な作業です。このファイルのフォーマットはシンプル です。ファイルは三行ずつの節に分かれています。最初の行は "*section_name:" (例 "*asm:")のようになります。 二行目はフラグのリストで、三行目は空行です。

最も簡単な変更は、求められるデフォルトフラグを相応しい節のリストに 追加することです。例えば、筆者が gcc 2.7.2 をデフォルト位置に インストールした '486 上で起動する Linux を持っているとします。 ファイル /usr/local/lib/gcc-lib/i486-linux/2.7.2/specs の中の 13 行目に下記のような部分があります。

- ----------SECTION----------
*cc1:


- ----------SECTION----------
見ておわかり頂けるように、デフォルトフラグは何もありません。もし C コードのコンパイルでいつも "-m486 -fomit-frame-pointer" を 使いたければ下記のように変更を加えます。
- ----------SECTION----------
*cc1:
- -m486 -fomit-frame-pointer

- ----------SECTION----------
もし放置された別のもっと古いLinux のために 386 コードを作成したければ 下記のように変更しなければなりません。
- ----------SECTION----------
*cc1:
%{!m386:-m486} -fomit-frame-pointer

- ----------SECTION----------
これは常にフレームポインタを省略します。-m386 がコマンドラインで 指定されない限り 486 に最適化されたコードを作成します。

specs ファイルでは実際に沢山のカスタマイズをすることができます。 しかし、これらの変更はグローバルでありシステム上の全てのユーザに 影響するということを覚えておいて下さい。