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





-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to