On Tue, 2015-03-10 at 08:19 +0900, Kaz Kojima wrote: > Yoshinori Sato <ys...@users.sourceforge.jp> wrote: > >> * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases. > [snip] > > It works fine. > > Thanks for checking. I've committed it on trunk as revision 221287. > > Regards, > kaz >
I think the same should be done in t-sh and in t-linux we could add the SH1 little endian exception, too ... just in case (see attached patch). I'm not sure whether TM_MULTILIB_EXCEPTIONS_CONFIG is needed in t-linux or not. Moreover, I don't understand why t-linux doesn't pick up MULTILIB_EXCEPTIONS from t-sh.... any ideas? Cheers, Oleg
Index: gcc/config/sh/t-linux =================================================================== --- gcc/config/sh/t-linux (revision 221308) +++ gcc/config/sh/t-linux (working copy) @@ -1,9 +1,9 @@ MULTILIB_DIRNAMES= MULTILIB_MATCHES = -DEFAULT_ENDIAN = $(word 1,$(TM_ENDIAN_CONFIG)) +# SH1 and SH2A support big endian only. ifeq ($(DEFAULT_ENDIAN),ml) -MULTILIB_EXCEPTIONS = m2a m2a/ml +MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG) else -MULTILIB_EXCEPTIONS = ml/m2a +MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG) endif Index: gcc/config/sh/t-sh =================================================================== --- gcc/config/sh/t-sh (revision 221308) +++ 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) \