[OE-core] [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float

Hongxu Jia hongxu.jia at windriver.com
Thu Mar 10 02:25:11 UTC 2016


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
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160310/dd5e028d/attachment-0002.html>


More information about the Openembedded-core mailing list