基本的に小さなARMコンピューターであるRaspberry Pi用にクロスコンパイルするつもりです。ホストは、Arch Linux を実行する i686 ボックスになります。
私の最初の直感は、Arch Linux が提供するクロス コンパイラ、arm-elf-gcc-base および arm-elf-binutils を使用することです。ただし、私が読んだすべてのウィキと投稿は、カスタム gcc ビルドのいくつかのバージョンを使用しているようです。彼らは、独自の gcc の作成にかなりの時間を費やしているようです。問題は、gcc を別の gcc よりも使用することが重要である理由を彼らが決して言わないことです。
ストック ディストリビューションが提供するクロス コンパイラを、一般的なカーネルやアプリで Raspberry Pi または ARM をビルドするために使用できますか?
ARM アーキテクチャには複数のコンパイラが必要ですか? もしそうなら、なぜ、単一の gcc がすべての x86 バリアントをサポートできるのでしょうか?
2) の場合、特定のバージョンの gcc でサポートされているターゲット サブセットをどのように推測できますか?
より一般的な質問ですが、カスタム gcc ビルドを必要とする一般的なユース ケースは何ですか?
できる限り技術的にお願いします。理由と方法を知りたいです。