Was ist der Grund für das Entfernen von crt0.o aus gcc4.7.x?

Ich versuche ein Upgrade aufyagarto4.7.2 (Noch eine GNU ARM-Toolchain für diejenigen, die sich fragen), die gcc und binutils ist, portiert für Windows. Wenn Sie jedoch versuchen, eine einfache Hello World zu kompilieren, erhalten Sie:

c:/yagarto-20121222/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi
/bin/ld.exe: cannot find crt0.o: No such file or directory
collect2.exe: error: ld returned 1 exit status

Nun, darinForum Es wird klargestellt, dass dies die Startup-Initialisierungsbibliothek ist, die nach gcc4.6.x entfernt wurde. Es werden zwei Lösungen vorgeschlagen:

kompiliere mit -nostartfilesKopieren Sie die Datei crt0.o aus 4.6.x in den Ordner 4.7.x

Beide sehen ziemlich schmutzig und für den Seriencode inakzeptabel aus. Weiß das auch jemandWarum wurde diese Bibliothek entfernt und was ist jetzt gleichwertig?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage