This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: Newlib Port : Infineon xc16x
- From: Jeff Johnston <jjohnstn at redhat dot com>
- To: Shrirang Khishti <shrirangk at KPITCummins dot com>
- Cc: newlib at sourceware dot org, Shrinivas Atre <ShrinivasA at KPITCummins dot com>, Anil Paranjape <AnilP1 at KPITCummins dot com>
- Date: Wed, 08 Mar 2006 11:47:40 -0500
- Subject: Re: Newlib Port : Infineon xc16x
- References: <4A1BE23A7B777442B60F4B4916AE0F130AA9E371@sohm.kpit.com>
Hello Shrirang,
Sorry for the delay in reviewing your patch. A few issues:
1. We don't put syscalls in the libc/sys directory anymore for a
processor. The arm processor is there because of historical
reasons, but it has also been migrated to libgloss.
Please create a libgloss/xc16x directory and put your
crt0 file and your syscalls there. See mn10300 and other
libgloss directories for examples on creating a syscall
library and ld script.
2. None of your new files have licensing information in them.
There should be something there, even if it is to say
that users are free to use, copy, and modify the source.
A GPL or proprietary license is not allowed. If someone
else has written the code, they must provide the license.
There are various examples around for you to look at. If
you have questions, just contact me.
3. You seem to missing crucial support. You have stubs for
important functionality like setjmp/longjmp. As well,
some of your syscall stubs return 0 to indicate success,
but they do nothing. If anything, you should look at the
libnosys stubs which return failure as expected.
Regards,
-- Jeff J.
Shrirang Khishti wrote:
Hi all,
KPIT Cummins is contributing the complete Newlib port for Infineon
XC16X architecture. We would like to request you to send in your
comments on this port.
As we are putting our best efforts on this port
its quality will successively improve and fit more and more to the
current GNU standards. We will be giving full fledge implementation
of system calls as soon as possible.
KPIT Cummins has already signed copyright assignment with FSF.
The XC16X is a new derivative of the popular C16X microcontroller
family that is based on the enhanced C166S V2 architecture
(http://www.infineon.com) it outperforms existing 16-bit solutions.
Impressive DSP performance and advanced interrupt handling combined with
an integrated powerful peripheral set and a high performance on-chip
flash makes the XC16X the instrument of choice for demanding industrial
and automotive applications.
We have already posted binutils and gcc patches to FSF.
http://sourceware.org/ml/binutils/2006-02/msg00230.html
http://gcc.gnu.org/ml/gcc-patches/2006-03/msg00200.html
Change log for Newlib 1.14
We are also sending Patch for top-level config to config project
2006-03-06
Shrirang Khisti <shrirangk@kpitcummins.com>
*config.sub : Information about xc16x
*configure.in : Entries for xc16x
*configure : Regenerate
*newlib\configure.host : Specified directory for system calls ,
and machine specific directory
*newlib\libc\sys\xc16x\crt0.S : New file Default startup file
*newlib\libc\sys\xc16x\close.s : New file
*newlib\libc\sys\xc16x\fstat.s : New file
*newlib\libc\sys\xc16x\write.c : New file
*newlib\libc\sys\xc16x\lseek.c : New file
*newlib\libc\sys\xc16x\read.c : New file
*newlib\libc\sys\xc16x\open.c : New file
*newlib\libc\sys\xc16x\create.c : New file
*newlib\libc\sys\xc16x\isatty.c : New file
*newlib\libc\sys\xc16x\mem-layout.c : New file
*newlib\libc\sys\xc16x\misc.c : New file
*newlib\libc\sys\xc16x\sbrk.c : New file
*newlib\libc\sys\xc16x\trap_handle.c : New file
*newlib\libc\sys\xc16x\configure.in : New file
*newlib\libc\sys\xc16x\configure : Regenerate
*newlib\libc\sys\xc16x\makefile.am : New file
*newlib\libc\sys\xc16x\aclocal.m4 : New file
*newlib\libc\sys\xc16x\makefile.in : Regenerate
*newlib\libc\machine\xc16x\setjmp.S : New file
*newlib\libc\machine\xc16x\Makefile.in : Regenerate
*newlib\libc\machine\xc16x\Makefile.am : New file
*newlib\libc\machine\xc16x\configure : Regenerate
*newlib\libc\machine\xc16x\configure.in : New file
*newlib\libc\machine\xc16x\aclocal.m4 : New file
*newlib\libc\include\sys\config.h : define macro SMALL_BITFIELDS
for all xc16x targets
*newlib\libc\include\machine\ieefp.h : Define endianness for xc16x
along with other floating point information
Regards
Shrirang Khisti
KPIT Cummins Infosystems Ltd.