From 876f07d2938408a636f86cc555bf5374bd0991ca Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Fri, 8 Mar 2013 19:10:33 +1100 Subject: MIPS Newlib 2.0.0 patches. Add the STX39 simulator. There are a couple of newlib patches to fix memcpy. Add the mipstx39 simulator as a separate target. --- rtems/config/4.11/rtems-mips.bset | 2 +- .../tools/rtems-mips-gcc-4.7.2-newlib-2.0.0-1.cfg | 14 ++++++++++++ rtems/config/tools/rtems-mipstx39-gdb-7.5.1-1.cfg | 2 -- .../patches/newlib-2.0.0-mips-memcpy-20130107.diff | 25 ++++++++++++++++++++++ .../patches/newlib-2.0.0-mips-memcpy-20130219.diff | 21 ++++++++++++++++++ 5 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 rtems/config/tools/rtems-mips-gcc-4.7.2-newlib-2.0.0-1.cfg create mode 100644 rtems/patches/newlib-2.0.0-mips-memcpy-20130107.diff create mode 100644 rtems/patches/newlib-2.0.0-mips-memcpy-20130219.diff diff --git a/rtems/config/4.11/rtems-mips.bset b/rtems/config/4.11/rtems-mips.bset index 5fb55ee..be914dc 100644 --- a/rtems/config/4.11/rtems-mips.bset +++ b/rtems/config/4.11/rtems-mips.bset @@ -16,6 +16,6 @@ # expat-2.1.0-1 tools/rtems-binutils-2.22-1 -tools/rtems-gcc-4.7.2-newlib-2.0.0-1 +tools/rtems-mips-gcc-4.7.2-newlib-2.0.0-1 tools/rtems-gdb-7.5.1-1 tools/rtems-mipstx39-gdb-7.5.1-1 diff --git a/rtems/config/tools/rtems-mips-gcc-4.7.2-newlib-2.0.0-1.cfg b/rtems/config/tools/rtems-mips-gcc-4.7.2-newlib-2.0.0-1.cfg new file mode 100644 index 0000000..4b22b9e --- /dev/null +++ b/rtems/config/tools/rtems-mips-gcc-4.7.2-newlib-2.0.0-1.cfg @@ -0,0 +1,14 @@ +# +# GCC 4.7.2, Newlib 2.0.0. +# + +# +# Newlib 2.0.0 Patches +# +Patch12: newlib-2.0.0-mips-memcpy-20130107.diff +Patch13: newlib-2.0.0-mips-memcpy-20130219.diff + +# +# The gdb build instructions for RTEMS 7.5.1. +# +%include tools/rtems-gcc-4.7.2-newlib-2.0.0-1.cfg diff --git a/rtems/config/tools/rtems-mipstx39-gdb-7.5.1-1.cfg b/rtems/config/tools/rtems-mipstx39-gdb-7.5.1-1.cfg index afea620..3c0bed5 100644 --- a/rtems/config/tools/rtems-mipstx39-gdb-7.5.1-1.cfg +++ b/rtems/config/tools/rtems-mipstx39-gdb-7.5.1-1.cfg @@ -2,8 +2,6 @@ # MIPS STX39 GDB 7.5.1. # -%{echo %{_target}} - %undefine _target %define _target mipstx39-rtems%{rtems_version} diff --git a/rtems/patches/newlib-2.0.0-mips-memcpy-20130107.diff b/rtems/patches/newlib-2.0.0-mips-memcpy-20130107.diff new file mode 100644 index 0000000..5d48fa2 --- /dev/null +++ b/rtems/patches/newlib-2.0.0-mips-memcpy-20130107.diff @@ -0,0 +1,25 @@ +=================================================================== +RCS file: /cvs/src/src/newlib/libc/machine/mips/memcpy.S,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -u -r1.1 -r1.2 +--- src/newlib/libc/machine/mips/memcpy.S 2012/12/11 21:37:59 1.1 ++++ src/newlib/libc/machine/mips/memcpy.S 2013/01/07 21:29:39 1.2 +@@ -56,7 +56,7 @@ + #endif + #endif + +-#if (_MIPS_SIM == _ABI64) || (_MIPS_SIM == _ABIN32) ++#if defined(_MIPS_SIM) && ((_MIPS_SIM == _ABI64) || (_MIPS_SIM == _ABIN32)) + #ifndef DISABLE_DOUBLE + #define USE_DOUBLE + #endif +@@ -203,6 +203,6 @@ + #define REG1 t1 + #define REG2 t2 + #define REG3 t3 +-#if _MIPS_SIM == _ABIO32 ++#if defined(_MIPS_SIM) && (_MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIO64) + # define REG4 t4 + # define REG5 t5 + # define REG6 t6 diff --git a/rtems/patches/newlib-2.0.0-mips-memcpy-20130219.diff b/rtems/patches/newlib-2.0.0-mips-memcpy-20130219.diff new file mode 100644 index 0000000..d5f1684 --- /dev/null +++ b/rtems/patches/newlib-2.0.0-mips-memcpy-20130219.diff @@ -0,0 +1,21 @@ +=================================================================== +RCS file: /cvs/src/src/newlib/libc/machine/mips/memcpy.S,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- src/newlib/libc/machine/mips/memcpy.S 2013/01/07 21:29:39 1.2 ++++ src/newlib/libc/machine/mips/memcpy.S 2013/02/19 07:31:04 1.3 +@@ -49,7 +49,10 @@ + #include + #endif + +-#if (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) || \ +- (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64) ++/* Check to see if the MIPS architecture we are compiling for supports ++ * prefetching. ++ */ ++ ++#if (__mips == 4) || (__mips == 5) || (__mips == 32) || (__mips == 64) + #ifndef DISABLE_PREFETCH + #define USE_PREFETCH + #endif -- cgit v1.2.3