La compilation à l'aide arm-none-eabi-gcc et de liaison de la bibliothèque liba.une erreur

Je suis à la compilation d'un programme "hello world" en C sur une version 64 bits de Linux de la machine. Je suis à l'aide de GCC ARM intégré de la chaîne de cross compiler mon programme sur un FOX G20 V board avec un ATMEL AT91SAM9G20 processeur.

La première fois, j'ai eu quelques erreurs lors de la compilation, car le programme ne reconnaît pas le printf, retour etc. fonctions (le standard de fonctions C). J'ai donc décidé de faire le lien entre les fonctions, qui, je crois, sont définis dans la libc.une bibliothèque (corrigez-moi si je me trompe), en faisant arm-none-eabi-gcc -o hello hello.c libc.a mais les résultats ont toujours conduit à des erreurs:

libc.a(lib_a-exit.o): In function `exit':
exit.c:(.text.exit+0x16): undefined reference to `_exit'
libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
libc.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text._write_r+0x10): undefined reference to `_write'
libc.a(lib_a-closer.o): In function `_close_r':
closer.c:(.text._close_r+0xc): undefined reference to `_close'
libc.a(lib_a-fstatr.o): In function `_fstat_r':
fstatr.c:(.text._fstat_r+0xe): undefined reference to `_fstat'
libc.a(lib_a-isattyr.o): In function `_isatty_r':
isattyr.c:(.text._isatty_r+0xc): undefined reference to `_isatty'
libc.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c:(.text._lseek_r+0x10): undefined reference to `_lseek'
libc.a(lib_a-readr.o): In function `_read_r':
readr.c:(.text._read_r+0x10): undefined reference to `_read'
collect2: error: ld returned 1 exit status

Je suis vraiment pas certain de la raison pour laquelle le programme ne reconnaît toujours pas les fonctions standard, même si je suis lié à la bibliothèque de l'application. Si quelqu'un a une raison pour expliquer pourquoi, ou une solution à comment je peux résoudre ce problème, je vous serais très reconnaissant.

Mise à JOUR

J'ai téléchargé la bibliothèque glibc de ici. J'ai compilé et créé une bibliothèque statique de la syscalls.c bibliothèque que j'ai trouvé dans newlib-2.1.0/libgloss/arm et quand j'ai le lien de la bibliothèque de mon code, j'obtiens toujours la même erreur.

Exactement ce que GCC ARM intégré chaîne d'outils utilisez-vous? Il ressemble à l'indéfini références sont des fonctions que vous (ou quelqu'un) devrait écrire à intégrer la libc.a de la bibliothèque de la plate-forme spécifique.
C'est le pré-construit la version 32 bits de Linero GCC. Donc, il y a quelque chose que j'aurais à ajouter à la libc.a bibliothèque? Ce pourrait être le cas échéant?

OriginalL'auteur Adam | 2014-04-16