On 03/10/2016 01:26 AM, Richard Purdie wrote: >> + >> >+# For powerpc*-*-*spe*, default to with_cpu=8548 if >> >+# --enable-e500-double, and to 8540 otherwise. >> >+EXTRA_OECONF_GCC_FLOAT += "${@get_gcc_float_setting(bb, d)}" > This is good to understand what is breaking but the patch as it stands > can't be merged as the gcc recipe intentionally doesn't do this, its > only done in gcc-target.inc. Yes, that is also my worry about, I am not sure why its only done in gcc-tareget.inc. > Why? > > The theory is we should be building one gcc-cross-powerpc, not multiple > different variants. I did just try a build and realised that switching > machines between p1022ds and qemuppc does rebuild gcc-cross-powerpc but > that is a bug. Adding the above is just going to make this harder to > fix, and will certainly break the SDK gcc-cross-canadian-gcc. > > I'm not sure how we should fix this, particularly given that gcc-cross > -powerpc already isn't working properly but the avoid fix isn't right. 1. How about directly fix python3. Allow the platform triplet 'powerpc-linux-gnuspev1', It should not have any side effect on python3 diff --git a/configure.ac b/configure.ac index 9eb3d22..9b4e8ab 100644 --- a/configure.ac +++ b/configure.ac @@ -850,7 +850,7 @@ fi rm -f conftest.c conftest.out if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then - if test x$PLATFORM_TRIPLET != x$MULTIARCH; then + if test x$PLATFORM_TRIPLET != x$MULTIARCH && test xpowerpc-linux-gnuspev1 != x$MULTIARCH; then AC_MSG_ERROR([internal configure error for the platform triplet, please file a bug report]) fi fi 2. Since the above only done in gcc-tareget.inc, how about apply the following fix to gcc-cross.inc and gcc-cross-canadian.inc, we do not check cpu while powerpc pse. diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux index 4cb63bd..5e10fa4 100644 --- a/gcc/config/rs6000/t-linux +++ b/gcc/config/rs6000/t-linux @@ -5,7 +5,7 @@ ifneq (,$(findstring powerpc64,$(target))) MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu) else ifneq (,$(findstring spe,$(target))) -MULTIARCH_DIRNAME := powerpc-linux-gnuspe$(if $(findstring 8548,$(with_cpu)),,v1) +MULTIARCH_DIRNAME := powerpc-linux-gnuspe else MULTIARCH_DIRNAME := powerpc-linux-gnu endif I know both of them are workaround. //Hongxu > Cheers, > > Richard > > > >