* [PATCH 0/1] fix python3 do_configure failed on meta-fsl-ppc with MACHINE = "p1022ds" @ 2016-03-09 11:18 Hongxu Jia 2016-03-09 11:18 ` [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float Hongxu Jia 0 siblings, 1 reply; 4+ messages in thread From: Hongxu Jia @ 2016-03-09 11:18 UTC (permalink / raw) To: openembedded-core, ross.burton, richard.purdie I am running a world build, and find build failures: - usdpaa do_compile failed Send patch to meta-freescale mailing list "usdpaa: remove default -mcpu=e500mc64 in Makefile" - pywbem do_compile failed Already a patch in oe-dev for discussing "[oe] [meta-python][jethro][fido][PATCH] python-m2crypto: fix SSLv2 symbol issue" The world build is not finished, and other failures is in analysis. //Hongxu The following changes since commit 5ac3dc76a5afc2ed35b1abfc8e330e0c580eadf0: image.bbclass: fix incomplete .rootfs customization (2016-03-07 22:10:54 +0000) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib hongxu/fix-python3-gcc http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=hongxu/fix-buildpath Hongxu Jia (1): tune-ppce500v2.inc: explicitly set gcc float meta/conf/machine/include/tune-ppce500v2.inc | 4 ++++ 1 file changed, 4 insertions(+) -- 1.9.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float 2016-03-09 11:18 [PATCH 0/1] fix python3 do_configure failed on meta-fsl-ppc with MACHINE = "p1022ds" Hongxu Jia @ 2016-03-09 11:18 ` Hongxu Jia 2016-03-09 17:26 ` Richard Purdie 0 siblings, 1 reply; 4+ messages in thread From: Hongxu Jia @ 2016-03-09 11:18 UTC (permalink / raw) To: openembedded-core, ross.burton, richard.purdie For powerpc*-*-*spe*, default to with_cpu=8548 if --enable-e500-double, and to 8540 otherwise. vim gcc/config.gcc ... powerpc*-*-*spe*) if test x$enable_e500_double = xyes; then with_cpu=8548 else with_cpu=8540 fi ;; ... The with_cpu is used for SPE version detection vim ./gcc/config/rs6000/t-linux ... 7 ifneq (,$(findstring spe,$(target))) 8 MULTIARCH_DIRNAME := powerpc-linux-gnuspe$(if $(findstring 8548,$(with_cpu)),,v1) 9 else 10 MULTIARCH_DIRNAME := powerpc-linux-gnu ... The variable MULTIARCH_DIRNAME is the output of '$CC --print-multiarch'. Without this patch, the output is 'powerpc-linux-gnuspev1' which caused python3 do_configure failed. Since ppce500v2 -mcpu is 8548, explicitly add --enable-e500-double could fix the issue. [YOCTO #9226] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- meta/conf/machine/include/tune-ppce500v2.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/tune-ppce500v2.inc index 20a5f25..70d3078 100644 --- a/meta/conf/machine/include/tune-ppce500v2.inc +++ b/meta/conf/machine/include/tune-ppce500v2.inc @@ -18,3 +18,7 @@ AVAILTUNES += "ppce500v2" TUNE_FEATURES_tune-ppce500v2 = "m32 spe ppce500v2" TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2" PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2" + +# 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)}" -- 1.9.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float 2016-03-09 11:18 ` [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float Hongxu Jia @ 2016-03-09 17:26 ` Richard Purdie 2016-03-10 2:25 ` Hongxu Jia 0 siblings, 1 reply; 4+ messages in thread From: Richard Purdie @ 2016-03-09 17:26 UTC (permalink / raw) To: Hongxu Jia, openembedded-core, ross.burton On Wed, 2016-03-09 at 06:18 -0500, Hongxu Jia wrote: > For powerpc*-*-*spe*, default to with_cpu=8548 if --enable-e500 > -double, > and to 8540 otherwise. > vim gcc/config.gcc > ... > powerpc*-*-*spe*) > if test x$enable_e500_double = xyes; then > with_cpu=8548 > else > with_cpu=8540 > fi > ;; > ... > > The with_cpu is used for SPE version detection > vim ./gcc/config/rs6000/t-linux > ... > 7 ifneq (,$(findstring spe,$(target))) > 8 MULTIARCH_DIRNAME := powerpc-linux-gnuspe$(if $(findstring > 8548,$(with_cpu)),,v1) > 9 else > 10 MULTIARCH_DIRNAME := powerpc-linux-gnu > ... > > The variable MULTIARCH_DIRNAME is the output of '$CC --print > -multiarch'. > Without this patch, the output is 'powerpc-linux-gnuspev1' which > caused > python3 do_configure failed. > > Since ppce500v2 -mcpu is 8548, explicitly add --enable-e500-double > could fix > the issue. > > [YOCTO #9226] > > Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> > --- > meta/conf/machine/include/tune-ppce500v2.inc | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/meta/conf/machine/include/tune-ppce500v2.inc > b/meta/conf/machine/include/tune-ppce500v2.inc > index 20a5f25..70d3078 100644 > --- a/meta/conf/machine/include/tune-ppce500v2.inc > +++ b/meta/conf/machine/include/tune-ppce500v2.inc > @@ -18,3 +18,7 @@ AVAILTUNES += "ppce500v2" > TUNE_FEATURES_tune-ppce500v2 = "m32 spe ppce500v2" > TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2" > PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2" > + > +# 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. 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. Cheers, Richard ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float 2016-03-09 17:26 ` Richard Purdie @ 2016-03-10 2:25 ` Hongxu Jia 0 siblings, 0 replies; 4+ messages in thread From: Hongxu Jia @ 2016-03-10 2:25 UTC (permalink / raw) To: Richard Purdie, openembedded-core, ross.burton [-- Attachment #1: Type: text/plain, Size: 2484 bytes --] 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 > > > > [-- Attachment #2: Type: text/html, Size: 3954 bytes --] ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-03-10 2:25 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-03-09 11:18 [PATCH 0/1] fix python3 do_configure failed on meta-fsl-ppc with MACHINE = "p1022ds" Hongxu Jia 2016-03-09 11:18 ` [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float Hongxu Jia 2016-03-09 17:26 ` Richard Purdie 2016-03-10 2:25 ` Hongxu Jia
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox