This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[Resend] RFA: Add support for RX architecture.
- From: Nick Clifton <nickc at redhat dot com>
- To: jjohnstn at redhat dot com
- Cc: newlib at sourceware dot org
- Date: Wed, 30 Sep 2009 11:23:09 +0100
- Subject: [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) ;;