Von Distro bereitgestellter Cross-Compiler vs. Custom Built GCC

Ich habe vor, Raspberry Pi zu kompilieren, im Grunde genommen einen kleinen ARM-Computer. Der Host wird eine i686-Box sein, auf der Arch Linux ausgeführt wird.

Mein erster Instinkt ist, den von Arch Linux, arm-elf-gcc-base und arm-elf-binutils bereitgestellten Cross-Compiler zu verwenden. Allerdings scheint jedes Wiki und jeder Beitrag, den ich lese, eine Version eines benutzerdefinierten gcc-Builds zu verwenden. Sie scheinen viel Zeit damit zu verbringen, ihren eigenen GCC zu kochen. Das Problem ist, dass sie niemals sagen, WARUM es wichtig ist, ihren gcc über einen anderen zu stellen.

Können von der Distribution bereitgestellte Cross-Compiler zum Erstellen von Raspberry Pi oder ARM in allgemeinen Kerneln und Apps verwendet werden?

Ist es notwendig, mehrere Compiler für die ARM-Architektur zu haben? Wenn ja, warum, da einzelne gcc alle x86-Varianten unterstützen können?

Wenn 2), wie kann ich dann ableiten, welche Zieluntermenge von einer bestimmten Version von gcc unterstützt wird?

Allgemeinere Frage: Welche allgemeinen Anwendungsfälle erfordern einen benutzerdefinierten gcc-Build?

Bitte seien Sie so technisch wie möglich. Ich würde gerne wissen, warum und wie.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage