From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Hongxu Jia <hongxu.jia@windriver.com>,
openembedded-core@lists.openembedded.org, ross.burton@intel.com
Subject: Re: [PATCH 1/1] tune-ppce500v2.inc: explicitly set gcc float
Date: Wed, 09 Mar 2016 17:26:28 +0000 [thread overview]
Message-ID: <1457544388.2804.179.camel@linuxfoundation.org> (raw)
In-Reply-To: <d32227aaa1bf8acd225f695857056f1b5dc77efc.1457522031.git.hongxu.jia@windriver.com>
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
next prev parent reply other threads:[~2016-03-09 17:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2016-03-10 2:25 ` Hongxu Jia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1457544388.2804.179.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=hongxu.jia@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox