質問: oabi,eabi,eabihfとかその辺の違いは置いておいて、これらの配布元による違いって何があるんでしょうか? gccのクロスコンパイルはやったことがないんですが、arm用に生成すれば基本同じなのでは?ターゲットの指定以外にも色々オプションがあって細かい調整が違うとか、ソースを改変して独自の最適化を入れてたりするのでしょうか?
回答: まずLaunchpadですが、以前ARMが自社でコンパイルしたものを配布するのに使っていましたが、今は自前のサイトで公開しています。またCodeSouceryは買収されて以来、最近は更新されてない様です。なのでLinaroとARMのものに関して書きますが、基本的にどちらもGNUのソースを取って来ているだけだと思います。 違いとしてはサポートするターゲットが違います。ARMのサイトによるとLinaroはRaspberryPi2以降やスマホで使われているCortex-Aに対応、ARMの物はリアルタイム制御用のCortex-Rと組み込み用のCortex-Mに対応しています。なのでお持ちのCPU/SoCによって選べば良いと思います。 ちなみにRaspberryPi1はARMv6(ARM11)なのでどちらもダメです。