Distribuidor cruzado fornecido pelo distro vs gcc personalizado

Eu pretendo compilar para Raspberry Pi, basicamente um pequeno computador ARM. O host será uma caixa i686 executando o Arch Linux.

Meu primeiro instinto é usar o compilador cruzado fornecido pelo Arch Linux, o arm-elf-gcc-base eo arm-elf-binutils. No entanto, cada wiki e post que eu leio parece usar alguma versão do build personalizado do gcc. Eles parecem passar um tempo significativo preparando seu próprio gcc. O problema é que eles nunca dizem por que é importante usar seu gcc em detrimento de outro.

A distribuição de ações, desde que os compiladores cruzados possam ser usados ​​para construir o Raspberry Pi ou o ARM em kernels e aplicativos gerais?

É necessário ter múltiplos compiladores para arquitetura ARM? Se sim, por que, já que o single gcc pode suportar todas as variantes do x86?

Se 2), como posso deduzir qual subconjunto de destino é suportado por uma versão específica do gcc?

Pergunta mais geral, que casos de uso gerais exigem uma compilação personalizada do gcc?

Por favor, seja o mais técnico possível, gostaria de saber por quê e como.

questionAnswers(1)

yourAnswerToTheQuestion