This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Resend] RFA: Add support for RX architecture.


Hi Jeff,

  This is a resend of a post from yesterday which failed because it
  was too big.

  I would permission please to apply the attached patch which adds
  support for the RX architecture to the newlib (and libgloss)
  sources.

  I have left off the tarball of the new files this time, in order to
  keep the email down to a reasonable size.  They are just some
  assembler source files for the libc memory and string functions and
  the libgloss board functions.

  OK to apply ?

Cheers
  Nick

newlib/ChangeLog
2009-09-30  DJ Delorie  <dj@redhat.com>

	* configure.host: Add support for RX architecture.
	* libc/include/machine/ieeefp.h: Likewise.
	* libc/include/machine/setjmp.h: Likewise.
	* libc/include/machine/configure.in: Likewise.
	* libc/include/machine/configure: Regenerate.
	* libc/machine/rx: New directory.
	* libc/machine/rx/*: New files to support RX architecture.

libgloss/ChangeLog
2009-09-29  DJ Delorie  <dj@redhat.com>

	* configure.in: Add support for RX sub-directory.
	* configure: Regenerate.
	* rx: New directory.
	* rx/*: New files to support RX architecture.

Index: libgloss/configure.in
===================================================================
RCS file: /cvs/src/src/libgloss/configure.in,v
retrieving revision 1.25
diff -p -U3 -r1.25 configure.in
--- libgloss/configure.in	13 May 2009 21:38:25 -0000	1.25
+++ libgloss/configure.in	25 Sep 2009 22:07:43 -0000
@@ -109,6 +109,9 @@ case "${target}" in
   m32c-*-*)
 	AC_CONFIG_SUBDIRS([m32c])
 	;;
+  rx*-*-elf)
+	AC_CONFIG_SUBDIRS([rx])
+	;;
   strongarm-*-elf | strongarm-*-coff | arm*-*-elf | arm*-*-coff | ep9312-*-elf | ep9312-*-coff | xscale-*-elf | xscale-*-coff | *arm-*-*)
 	AC_CONFIG_SUBDIRS([arm])
 	;;
Index: newlib/configure.host
===================================================================
RCS file: /cvs/src/src/newlib/configure.host,v
retrieving revision 1.108
diff -p -U3 -r1.108 configure.host
--- newlib/configure.host	22 Sep 2009 21:24:55 -0000	1.108
+++ newlib/configure.host	25 Sep 2009 22:07:43 -0000
@@ -221,6 +221,11 @@ case "${host_cpu}" in
   powerpc*)
 	machine_dir=powerpc
 	;;
+  rx)
+	machine_dir=rx
+	default_newlib_io_long_long="yes"
+	newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections "
+	;;
   sh | sh64)
 	machine_dir=sh
 	;;
Index: newlib/libc/include/machine/ieeefp.h
===================================================================
RCS file: /cvs/src/src/newlib/libc/include/machine/ieeefp.h,v
retrieving revision 1.40
diff -p -U3 -r1.40 ieeefp.h
--- newlib/libc/include/machine/ieeefp.h	9 Jul 2009 17:04:56 -0000	1.40
+++ newlib/libc/include/machine/ieeefp.h	25 Sep 2009 22:07:43 -0000
@@ -322,6 +322,24 @@
 #endif
 #endif
 
+#ifdef __RX__
+
+#ifdef __RX_BIG_ENDIAN__
+#define __IEEE_BIG_ENDIAN
+#else
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifndef __RX_64BIT_DOUBLES__
+#define _DOUBLE_IS_32BITS
+#endif
+
+#ifdef __RX_16BIT_INTS__
+#define __SMALL_BITFIELDS
+#endif
+
+#endif
+
 #ifndef __IEEE_BIG_ENDIAN
 #ifndef __IEEE_LITTLE_ENDIAN
 #error Endianess not declared!!
Index: newlib/libc/include/machine/setjmp.h
===================================================================
RCS file: /cvs/src/src/newlib/libc/include/machine/setjmp.h,v
retrieving revision 1.39
diff -p -U3 -r1.39 setjmp.h
--- newlib/libc/include/machine/setjmp.h	27 May 2009 18:54:58 -0000	1.39
+++ newlib/libc/include/machine/setjmp.h	25 Sep 2009 22:07:43 -0000
@@ -249,6 +249,10 @@ _BEGIN_STD_C
 #define _JBTYPE unsigned short
 #endif /* __m32c__ */
 
+#ifdef __RX__
+#define _JBLEN 0x44
+#endif
+
 #ifdef _JBLEN
 #ifdef _JBTYPE
 typedef	_JBTYPE jmp_buf[_JBLEN];
Index: newlib/libc/machine/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/configure.in,v
retrieving revision 1.11
diff -p -U3 -r1.11 configure.in
--- newlib/libc/machine/configure.in	22 Apr 2009 19:52:49 -0000	1.11
+++ newlib/libc/machine/configure.in	25 Sep 2009 22:07:44 -0000
@@ -51,6 +51,7 @@ if test -n "${machine_dir}"; then
 	mt) AC_CONFIG_SUBDIRS(mt) ;;
 	necv70) AC_CONFIG_SUBDIRS(necv70) ;;
 	powerpc) AC_CONFIG_SUBDIRS(powerpc) ;;
+	rx) AC_CONFIG_SUBDIRS(rx) ;;
 	sh) AC_CONFIG_SUBDIRS(sh) ;;
 	sparc) AC_CONFIG_SUBDIRS(sparc) ;;
 	spu) AC_CONFIG_SUBDIRS(spu) ;;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]