On Thu, 2015-03-26 at 09:45 +0900, Kaz Kojima wrote:
> Oleg Endo <[email protected]> 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) \