2013-06-07 11 views
6

Sto tentando di eseguire l'aggiornamento a yagarto4.7.2 (ancora un'altra toolchain GNU ARM, per chi si chiede), che è gcc e binutils, portati per Windows. Tuttavia, cercando di compilare un semplice rendimenti Ciao Mondo:Qual è la logica alla base della rimozione di crt0.o da gcc4.7.x?

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 

Ora, in questo forum è fatto chiaro che questa è la biblioteca di avvio initialziation, che è stato rimosso dopo gcc4.6.x. Vengono proposte due soluzioni:

  • compilare con -nostartfiles
  • copiare il crt0.o formare il 4.6.x alla cartella 4.7.x

Entrambi sembrano abbastanza sporca e inaccettabile per il codice di produzione. Qualcuno sa quindi perché questa libreria è stata rimossa e qual è l'equivalente ora?

+1

Alcuni fatti chiave su * yargarto *; un compilatore * new * basato su * mingw *, pre-costruito. Vedi: [SO gcc newlib questions] (http://stackoverflow.com/search?q= [gcc] + newlib + è% 3Aquestion). È possibile costruire questo tipo di compilatore con [crosstool-ng] (http://crosstool-ng.org/), ma è estremamente difficile in quanto è una * croce canadese *. –

+1

http://stackoverflow.com/questions/18416564/how-to-solve-the-crt0-o-issue-in-cross-compiling – 0x90

risposta

3

crt0.o deriva da crt0.s, che è fornito dal sistema operativo. Nel caso di installazione bare metal, questo file deve essere fornito dall'implementazione. Contiene il codice di avvio e di uscita, ad esempio per azzerare il file .bss.

+1

Non così stupido - ha generato discussioni su un forum, che hai fornito un Collegamento a. SO funziona anche come base di conoscenza e dovresti sentirti libero di accettare la tua risposta. –

+1

Documentazione su queste funzioni: [Newlib syscalls] (http://sourceware.org/newlib/libc.html#Syscalls) comprese le implementazioni * minime *. –

+0

Quindi, dove hai ottenuto crt0.s per quale sistema operativo? – harper

Problemi correlati