On Thu, 2015-03-26 at 09:45 +0900, Kaz Kojima wrote:
> Oleg Endo <oleg.e...@t-online.de> wrote:
> > Sorry, I'm a bit confused.  Do you mean something like the attached
> > patch?  If so, it means that the original patch for this problem
> > https://gcc.gnu.org/ml/gcc-patches/2015-03/msg00424.html
> > should have been in t-sh and not in t-linux, right?
> 
> Yes, I think so.  Even sh-elf configured with --with-endian='little,big'
> failed to build with the similar 'SH2a does not support little-endian'
> error.

I've committed the attached patches on trunk (r221685), 4.9 (r221686)
and 4.8 (r221687).

Cheers,
Oleg
Index: gcc/config/sh/t-sh
===================================================================
--- gcc/config/sh/t-sh	(revision 221670)
+++ gcc/config/sh/t-sh	(working copy)
@@ -63,8 +63,12 @@
     done \
   done)
 
-# SH1 only supports big endian.
+# SH1 and SH2A support big endian only.
+ifeq ($(DEFAULT_ENDIAN),ml)
+MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
+else
 MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
+endif
 
 MULTILIB_OSDIRNAMES = \
 	$(OTHER_ENDIAN)=!$(OTHER_ENDIAN) \
Index: gcc/config/sh/t-linux
===================================================================
--- gcc/config/sh/t-linux	(revision 221670)
+++ gcc/config/sh/t-linux	(working copy)
@@ -1,9 +1,2 @@
 MULTILIB_DIRNAMES= 
 MULTILIB_MATCHES = 
-
-DEFAULT_ENDIAN = $(word 1,$(TM_ENDIAN_CONFIG))
-ifeq ($(DEFAULT_ENDIAN),ml)
-MULTILIB_EXCEPTIONS = m2a m2a/ml
-else
-MULTILIB_EXCEPTIONS = ml/m2a
-endif
Index: gcc/config/sh/t-sh
===================================================================
--- gcc/config/sh/t-sh	(revision 221685)
+++ gcc/config/sh/t-sh	(working copy)
@@ -63,8 +63,12 @@
     done \
   done)
 
-# SH1 only supports big endian.
+# SH1 and SH2A support big endian only.
+ifeq ($(DEFAULT_ENDIAN),ml)
+MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
+else
 MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
+endif
 
 MULTILIB_OSDIRNAMES = \
 	$(OTHER_ENDIAN)=!$(OTHER_ENDIAN) \

Reply via email to