Is this patch on the gcc 4.9 branch and head? --joel
On 1/9/2015 8:37 AM, Sebastian Huber wrote: > Module: rtems-tools > Branch: master > Commit: 3f4717852dddcf8ba56478ba98b9dbda32d87182 > Changeset: > http://git.rtems.org/rtems-tools/commit/?id=3f4717852dddcf8ba56478ba98b9dbda32d87182 > > Author: Sebastian Huber <sebastian.hu...@embedded-brains.de> > Date: Fri Jan 9 15:37:25 2015 +0100 > > Add PowerPC patches for GCC 4.9.2 > > --- > > ...9.2-RTEMS-Add-e6500-multilibs-for-PowerPC.patch | 71 ++++++++++++++ > ...2-RTEMS-Fix-MPC8540-multilibs-for-PowerPC.patch | 45 +++++++++ > ...2-RTEMS-Use-MULTILIB_REQUIRED-for-PowerPC.patch | 102 > +++++++++++++++++++++ > 3 files changed, 218 insertions(+) > > diff --git > a/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Add-e6500-multilibs-for-PowerPC.patch > > b/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Add-e6500-multilibs-for-PowerPC.patch > new file mode 100644 > index 0000000..440e05d > --- /dev/null > +++ > b/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Add-e6500-multilibs-for-PowerPC.patch > @@ -0,0 +1,71 @@ > +From febe0c54031b437f713716251d6788dd481d5229 Mon Sep 17 00:00:00 2001 > +From: sh <sh@138bc75d-0d04-0410-961f-82ee72b054a4> > +Date: Fri, 9 Jan 2015 14:19:47 +0000 > +Subject: [PATCH 3/3] RTEMS: Add e6500 multilibs for PowerPC > + > +Use 32-bit instructions only since currently there is no demand for a > +larger address space. Provide one multilib with FPU and AltiVec support > +and one without. > + > +gcc/ChangeLog > + > + * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__ > + for -mcpu=e6500. > + * config/rs6000/t-rtems: Add e6500 multilibs. > + > + > +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@219391 > 138bc75d-0d04-0410-961f-82ee72b054a4 > +--- > + gcc/config/rs6000/rtems.h | 3 ++- > + gcc/config/rs6000/t-rtems | 13 +++++++++---- > + 3 files changed, 20 insertions(+), 5 deletions(-) > + > +diff --git a/gcc/config/rs6000/rtems.h b/gcc/config/rs6000/rtems.h > +index 2402d53..0464880 100644 > +--- a/gcc/config/rs6000/rtems.h > ++++ b/gcc/config/rs6000/rtems.h > +@@ -52,7 +52,8 @@ > + %{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } \ > + %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ > + %{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } } \ > +-%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } }" > ++%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } } \ > ++%{mcpu=e6500: -D__PPC_CPU_E6500__}" > + > + #undef SUBSUBTARGET_EXTRA_SPECS > + #define SUBSUBTARGET_EXTRA_SPECS \ > +diff --git a/gcc/config/rs6000/t-rtems b/gcc/config/rs6000/t-rtems > +index e935947..eadda0d 100644 > +--- a/gcc/config/rs6000/t-rtems > ++++ b/gcc/config/rs6000/t-rtems > +@@ -24,14 +24,17 @@ MULTILIB_MATCHES = > + MULTILIB_EXCEPTIONS = > + MULTILIB_REQUIRED = > + > +-MULTILIB_OPTIONS += > mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 > +-MULTILIB_DIRNAMES += m403 m505 m603e m604 m860 m7400 m8540 > ++MULTILIB_OPTIONS += > mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540/mcpu=e6500 > ++MULTILIB_DIRNAMES += m403 m505 m603e m604 m860 m7400 m8540 me6500 > ++ > ++MULTILIB_OPTIONS += m32 > ++MULTILIB_DIRNAMES += m32 > + > + MULTILIB_OPTIONS += msoft-float/mfloat-gprs=double > + MULTILIB_DIRNAMES += nof gprsdouble > + > +-MULTILIB_OPTIONS += mno-spe > +-MULTILIB_DIRNAMES += nospe > ++MULTILIB_OPTIONS += mno-spe/mno-altivec > ++MULTILIB_DIRNAMES += nospe noaltivec > + > + MULTILIB_MATCHES += ${MULTILIB_MATCHES_ENDIAN} > + MULTILIB_MATCHES += ${MULTILIB_MATCHES_SYSV} > +@@ -72,3 +75,5 @@ MULTILIB_REQUIRED += mcpu=8540 > + MULTILIB_REQUIRED += mcpu=8540/msoft-float/mno-spe > + MULTILIB_REQUIRED += mcpu=8540/mfloat-gprs=double > + MULTILIB_REQUIRED += mcpu=860 > ++MULTILIB_REQUIRED += mcpu=e6500/m32 > ++MULTILIB_REQUIRED += mcpu=e6500/m32/msoft-float/mno-altivec > +-- > +1.8.4.5 > + > diff --git > a/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Fix-MPC8540-multilibs-for-PowerPC.patch > > b/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Fix-MPC8540-multilibs-for-PowerPC.patch > new file mode 100644 > index 0000000..7dd5fd0 > --- /dev/null > +++ > b/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Fix-MPC8540-multilibs-for-PowerPC.patch > @@ -0,0 +1,45 @@ > +From c2c78a7d98b9349ea96e860e094e4a97ba0b5842 Mon Sep 17 00:00:00 2001 > +From: sh <sh@138bc75d-0d04-0410-961f-82ee72b054a4> > +Date: Fri, 9 Jan 2015 14:18:35 +0000 > +Subject: [PATCH 2/3] RTEMS: Fix MPC8540 multilibs for PowerPC > + > +GCC generates SPE instructions even if -msoft-float is specified. > +Explicitly add -mno-spe to prevent generation of SPE instructions. This > +multilib variant must not lead to a usage of the SPE. > + > +gcc/ChangeLog > + > + * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for > + MPC8540. > + > + > +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@219390 > 138bc75d-0d04-0410-961f-82ee72b054a4 > +--- > + gcc/config/rs6000/t-rtems | 5 ++++- > + 2 files changed, 12 insertions(+), 1 deletion(-) > + > +diff --git a/gcc/config/rs6000/t-rtems b/gcc/config/rs6000/t-rtems > +index 3ebcfaa..e935947 100644 > +--- a/gcc/config/rs6000/t-rtems > ++++ b/gcc/config/rs6000/t-rtems > +@@ -30,6 +30,9 @@ MULTILIB_DIRNAMES += m403 m505 m603e m604 m860 m7400 m8540 > + MULTILIB_OPTIONS += msoft-float/mfloat-gprs=double > + MULTILIB_DIRNAMES += nof gprsdouble > + > ++MULTILIB_OPTIONS += mno-spe > ++MULTILIB_DIRNAMES += nospe > ++ > + MULTILIB_MATCHES += ${MULTILIB_MATCHES_ENDIAN} > + MULTILIB_MATCHES += ${MULTILIB_MATCHES_SYSV} > + # Map 405 to 403 > +@@ -66,6 +69,6 @@ MULTILIB_REQUIRED += mcpu=604/msoft-float > + MULTILIB_REQUIRED += mcpu=7400 > + MULTILIB_REQUIRED += mcpu=7400/msoft-float > + MULTILIB_REQUIRED += mcpu=8540 > +-MULTILIB_REQUIRED += mcpu=8540/msoft-float > ++MULTILIB_REQUIRED += mcpu=8540/msoft-float/mno-spe > + MULTILIB_REQUIRED += mcpu=8540/mfloat-gprs=double > + MULTILIB_REQUIRED += mcpu=860 > +-- > +1.8.4.5 > + > diff --git > a/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Use-MULTILIB_REQUIRED-for-PowerPC.patch > > b/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Use-MULTILIB_REQUIRED-for-PowerPC.patch > new file mode 100644 > index 0000000..02fc786 > --- /dev/null > +++ > b/tools/4.11/gcc/powerpc/gcc-4.9.2-RTEMS-Use-MULTILIB_REQUIRED-for-PowerPC.patch > @@ -0,0 +1,102 @@ > +From 49af75fdde43dccda427eef272b3fac13cb0102c Mon Sep 17 00:00:00 2001 > +From: sh <sh@138bc75d-0d04-0410-961f-82ee72b054a4> > +Date: Fri, 9 Jan 2015 14:14:22 +0000 > +Subject: [PATCH 1/3] RTEMS: Use MULTILIB_REQUIRED for PowerPC > + > +gcc/ChangeLog > + > + * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of > + MULTILIB_EXCEPTIONS. > + > + > +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@219389 > 138bc75d-0d04-0410-961f-82ee72b054a4 > +--- > + gcc/config/rs6000/t-rtems | 65 > +++++++++++++++++------------------------------ > + 2 files changed, 32 insertions(+), 41 deletions(-) > + > +diff --git a/gcc/config/rs6000/t-rtems b/gcc/config/rs6000/t-rtems > +index 426f75a..3ebcfaa 100644 > +--- a/gcc/config/rs6000/t-rtems > ++++ b/gcc/config/rs6000/t-rtems > +@@ -18,16 +18,18 @@ > + # along with GCC; see the file COPYING3. If not see > + # <http://www.gnu.org/licenses/>. > + > +-MULTILIB_OPTIONS = \ > +-mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 \ > +-msoft-float/mfloat-gprs=double > ++MULTILIB_OPTIONS = > ++MULTILIB_DIRNAMES = > ++MULTILIB_MATCHES = > ++MULTILIB_EXCEPTIONS = > ++MULTILIB_REQUIRED = > ++ > ++MULTILIB_OPTIONS += > mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 > ++MULTILIB_DIRNAMES += m403 m505 m603e m604 m860 m7400 m8540 > + > +-MULTILIB_DIRNAMES = \ > +-m403 m505 m603e m604 m860 m7400 m8540 \ > +-nof gprsdouble > ++MULTILIB_OPTIONS += msoft-float/mfloat-gprs=double > ++MULTILIB_DIRNAMES += nof gprsdouble > + > +-# MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} > +-MULTILIB_MATCHES = > + MULTILIB_MATCHES += ${MULTILIB_MATCHES_ENDIAN} > + MULTILIB_MATCHES += ${MULTILIB_MATCHES_SYSV} > + # Map 405 to 403 > +@@ -52,37 +54,18 @@ MULTILIB_MATCHES += mcpu?8540=mcpu?8548 > + # (mfloat-gprs=single is implicit default) > + MULTILIB_MATCHES += mcpu?8540=mcpu?8540/mfloat-gprs?single > + > +-# Soft-float only, default implies msoft-float > +-# NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES > +-MULTILIB_SOFTFLOAT_ONLY = \ > +-*mcpu=401/*msoft-float* \ > +-*mcpu=403/*msoft-float* \ > +-*mcpu=405/*msoft-float* \ > +-*mcpu=801/*msoft-float* \ > +-*mcpu=821/*msoft-float* \ > +-*mcpu=823/*msoft-float* \ > +-*mcpu=860/*msoft-float* > +- > +-# Hard-float only, take out msoft-float > +-MULTILIB_HARDFLOAT_ONLY = \ > +-*mcpu=505/*msoft-float* > +- > +-# Targets which do not support gprs > +-MULTILIB_NOGPRS = \ > +-mfloat-gprs=* \ > +-*mcpu=403/*mfloat-gprs=* \ > +-*mcpu=505/*mfloat-gprs=* \ > +-*mcpu=603e/*mfloat-gprs=* \ > +-*mcpu=604/*mfloat-gprs=* \ > +-*mcpu=860/*mfloat-gprs=* \ > +-*mcpu=7400/*mfloat-gprs=* > +- > +-MULTILIB_EXCEPTIONS = > +- > +-# Disallow -Dppc and -Dmpc without other options > +-MULTILIB_EXCEPTIONS += Dppc* Dmpc* > ++# Enumeration of multilibs > + > +-MULTILIB_EXCEPTIONS += \ > +-${MULTILIB_SOFTFLOAT_ONLY} \ > +-${MULTILIB_HARDFLOAT_ONLY} \ > +-${MULTILIB_NOGPRS} > ++MULTILIB_REQUIRED += msoft-float > ++MULTILIB_REQUIRED += mcpu=403 > ++MULTILIB_REQUIRED += mcpu=505 > ++MULTILIB_REQUIRED += mcpu=603e > ++MULTILIB_REQUIRED += mcpu=603e/msoft-float > ++MULTILIB_REQUIRED += mcpu=604 > ++MULTILIB_REQUIRED += mcpu=604/msoft-float > ++MULTILIB_REQUIRED += mcpu=7400 > ++MULTILIB_REQUIRED += mcpu=7400/msoft-float > ++MULTILIB_REQUIRED += mcpu=8540 > ++MULTILIB_REQUIRED += mcpu=8540/msoft-float > ++MULTILIB_REQUIRED += mcpu=8540/mfloat-gprs=double > ++MULTILIB_REQUIRED += mcpu=860 > +-- > +1.8.4.5 > + > > _______________________________________________ > vc mailing list > v...@rtems.org > http://lists.rtems.org/mailman/listinfo/vc -- Joel Sherrill, Ph.D. Director of Research & Development joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel