Remove m1 from multilibs for GCC11 on SH arch.

GCC11 somehow has different set of multilibs on SH arch than what GCC10 had.
In particular:

$ gcc10 -print-multi-lib | sed -r -e 's/@/ -/g;'
.;
mb; -mb
m2; -m2
m2e; -m2e
m4; -m4
m4-single; -m4-single
m4-single-only; -m4-single-only
mb/m2; -mb -m2
mb/m2e; -mb -m2e
mb/m4; -mb -m4
mb/m4-single; -mb -m4-single
mb/m4-single-only; -mb -m4-single-only
mb/m2a; -mb -m2a
mb/m2a-single; -mb -m2a-single

$ gcc11 -print-multi-lib | sed -r -e 's/@/ -/g;'
.;
mb; -mb
m2; -m2
m2e; -m2e
m4; -m4
m4-single; -m4-single
m4-single-only; -m4-single-only
mb/m1; -mb -m1
mb/m2; -mb -m2
mb/m2e; -mb -m2e
mb/m4; -mb -m4
mb/m4-single; -mb -m4-single
mb/m4-single-only; -mb -m4-single-only
mb/m2a; -mb -m2a
mb/m2a-single; -mb -m2a-single

mb/m1 fails to build libgcc as libgcc uses opcodes that were not
available in SH-1: libgcc/config/sh/lib1funcs.S uses 'bt/s' and 'dt'
instructions that, according to https://antime.kapsi.fi/sega/files/h12p0.pdf become available in the SH-2 only.

So I removed mb/m1 from the multilibs fog GCC11 and SH arch.
Another option would be to try not to build libgcc for this combination
of the gcc version and archichecture, but I thought this fix would be
more robust.

Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
This commit is contained in:
spaun2002 2021-04-30 19:54:23 -07:00
parent 6ca5f91fb5
commit 6b465e150d

View File

@ -84,6 +84,7 @@ config CC_GCC_EXTRA_CONFIG_ARRAY
config CC_GCC_MULTILIB_LIST config CC_GCC_MULTILIB_LIST
string "List of multilib variants" string "List of multilib variants"
depends on MULTILIB depends on MULTILIB
default "m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single" if GCC_V_11 && ARCH_SH
help help
Architecture-specific option of expanding or restricting the list of Architecture-specific option of expanding or restricting the list of
the multilib variants to be built. Refer to GCC installation manual the multilib variants to be built. Refer to GCC installation manual