[En-Nut-Discussion] Strange newlib syscall dependencies / linker problems when using 64bit integers

Klaus Kloos klaus.kloos at gmx.de
Thu Feb 16 07:58:59 CET 2012


Some days ago there have been problems with linking using 64bit integers and im not shure if a solution was found. I stumbled over the same problem and found the following solution for me (Ethernut 4.10, yagarto).
the following:
  /* .ARM.exidx is sorted, so has to go in its own output section.  kl for using long long*/
  .ARM.exidx : {
    __exidx_start = .;
    *(.ARM.exidx* .gnu.linkonce.armexidx.*)
    __exidx_end = .;
  } >rom
was added to my .ld file right after the .text segment

Somewhere i had to create the empty functions:
void _sbrk(void){

void _getpid(void){

void _kill(void){

void _exit(int status){
But dont ask me why .....

This was all. It wasnt necessary for me to remove the -fno-exceptions -fno-rtti flags like some other descriptions are telling.
Now the int64 are working, i have only little doubts in what situations the _exit functions is called and freezes my prg.

Greetings Klaus

More information about the En-Nut-Discussion mailing list