Distro proporcionado compilador cruzado vs gcc construido a medida

Tengo la intención de compilar de forma cruzada para Raspberry Pi, básicamente una pequeña computadora ARM. El host será una caja i686 ejecutando Arch Linux.

Mi primer instinto es usar compilador cruzado proporcionado por Arch Linux, arm-elf-gcc-base y arm-elf-binutils. Sin embargo, cada wiki y publicación que leo parece usar alguna versión de compilación gcc personalizada. Parece que pasan mucho tiempo cocinando su propio gcc. El problema es que nunca dicen POR QUÉ es importante usar su gcc sobre otro.

¿Se pueden usar los compiladores cruzados provistos por la distribución en la compilación de Raspberry Pi o ARM en núcleos y aplicaciones generales?

¿Es necesario tener múltiples compiladores para la arquitectura ARM? Si es así, ¿por qué, dado que gcc solo puede admitir todas las variantes x86?

Si 2), ¿cómo puedo deducir qué subconjunto de destino es compatible con una versión particular de gcc?

Pregunta más general, ¿qué casos de uso generales requieren la creación personalizada de gcc?

Por favor sea lo más técnico que pueda, me gustaría saber POR QUÉ y cómo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta