[Resend] RFA: Add support for RX architecture.

View: New views
1 Messages — Rating Filter:   Alert me  

[Resend] RFA: Add support for RX architecture.

by Nick Clifton :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...>

        * 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@...>

        * 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) ;;