shifting syscalls to libgloss

Bhushan Attarde Bhushan.Attarde@kpitcummins.com
Wed Jun 13 16:34:00 GMT 2007



Hi,

 

We are working on GNU based tool chain for infineon xc16x
microcontroller.

Currently the syscalls are in /newlib/libc/sys and we are trying to
shift them to /libgloss.

 

So after some google search we found some way to do that.......

And done some changes which are as follows:

 

 

 *  newlib-1.15.0/configure.in    : removed target-libgloss from
noconfigdirs for xc16x-*-*

 

 *  configure  : regenrate

 *  newlib-1.15.0/newlib/configure.host: : set sys_dir to empty for
xc16x-*-*. And set syscall_dir to xc16x

 *  configure  : regenerate 

 *  newlib/libc/sys/xc16x/ configure.in : removed

 *  newlib/libc/sys/xc16x/ configure : removed

 

 *  newlib/libc/sys/xc16x/ crt0.s : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ close.s : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ create.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ getchar1.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ isatty.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ lseek.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ mem-layout : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ misc.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ open.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ putchar.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ puts.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ read.c : moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ sbrk.c: moved to libgloss/xc16x

 *  newlib/libc/sys/xc16x/ syscalls.c : moved to libgloss/xc16x

*  newlib/libc/sys/xc16x/ trap-handle.c : moved to libgloss/xc16x

*  newlib/libc/sys/xc16x/ write.c : moved to libgloss/xc16x

* newlib/libc/sys/xc16x : reomoved

 

*  libgloss/xc16x/configure.in : new

*  libgloss/xc16x/configure : regenerate

 

With these changes I built the tool chain, it got built without any
error.

But when I tried to compile one of our sample program I got the
following errors...............

 

/home/bhushana/XC16X/run/xc16x-elf/lib/gcc/xc16x-elf/4.2.0/../../../../x
c16x-elf/lib/xc16xl/libg.a(lib_a-makebuf.o): In function `___smakebuf':

makebuf.c:(.text+0x1fb): undefined reference to `_isatty'

makebuf.c:(.text+0x1fc): undefined reference to `_isatty'

/home/bhushana/XC16X/run/xc16x-elf/lib/gcc/xc16x-elf/4.2.0/../../../../x
c16x-elf/lib/xc16xl/libg.a(lib_a-sbrkr.o): In function `__sbrk_r':

sbrkr.c:(.text+0x1d): undefined reference to `__sbrk'

sbrkr.c:(.text+0x1e): undefined reference to `__sbrk'

/home/bhushana/XC16X/run/xc16x-elf/lib/gcc/xc16x-elf/4.2.0/../../../../x
c16x-elf/lib/xc16xl/libg.a(lib_a-closer.o): In function `__close_r':

closer.c:(.text+0x1b): undefined reference to `__close'

closer.c:(.text+0x1c): undefined reference to `__close'

/home/bhushana/XC16X/run/xc16x-elf/lib/gcc/xc16x-elf/4.2.0/../../../../x
c16x-elf/lib/xc16xl/libg.a(lib_a-fstatr.o): In function `__fstat_r':

fstatr.c:(.text+0x25): undefined reference to `__fstat'

fstatr.c:(.text+0x26): undefined reference to `__fstat'

/home/bhushana/XC16X/run/xc16x-elf/lib/gcc/xc16x-elf/4.2.0/../../../../x
c16x-elf/lib/xc16xl/libg.a(lib_a-lseekr.o): In function `__lseek_r':

lseekr.c:(.text+0x2d): undefined reference to `__lseek'

lseekr.c:(.text+0x2e): undefined reference to `__lseek'

collect2: ld returned 1 exit status

make: *** [Mathtest.out] Error 1

 

 

what went wrong ? Or the changes are incomplete and needs to do more?

What should I need to do?

 

Thanks in advance. 

  

Bhushan



More information about the Newlib mailing list