クロスコンパイラ
GCCは、コンパイラ群を集約したフリーソフトウェアであり、クロスコンパイル向けの設定も可能である。GCCは様々なプラットフォームや言語をサポートしている。しかし、手が足りないためにクロスコンパイラの保守がなされていない場合があり、多くのリリースでクロスコンパイラが機能していない。
GCCには、ターゲットプラットフォーム毎にbinutilsのコンパイルされたコピーが必要である。その中でも GNUアセンブラ が重要である。従って、binutils をまず --target=some-target スイッチ付きでコンパイルしなければならない。GCC も同じ --target オプション付きで設定しなければならない。GCCはパスで指定されたbinutilsを使って普通に動作する。パスは(シェルとしてBashを使う場合には)以下のように指定する。
クロスコンパイルを行うGCCでは、ターゲットプラットフォームの標準Cライブラリがホストプラットフォームで利用可能になっている必要がある。少なくとも、crt0というライブラリの一部は必須である。標準Cライブラリ全体をコンパイルした場合、プラットフォームによっては大きすぎることもある。