From: "David Nyström" <david.nystrom@enea.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [oe-commits] Richard Purdie : cross-canadian: Handle powerpc linux verses linux-gnuspe
Date: Fri, 10 Jan 2014 13:51:27 +0100 [thread overview]
Message-ID: <52CFECCF.3090802@enea.com> (raw)
In-Reply-To: <20131101174955.09FA3503F0@opal>
On 2013-11-01 18:49, git@git.openembedded.org wrote:
> Module: openembedded-core.git
> Branch: master-next
> Commit: a1d6331238982b0c5d39b0a18794f6654b00d46a
> URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a1d6331238982b0c5d39b0a18794f6654b00d46a
>
> Author: Richard Purdie <richard.purdie@linuxfoundation.org>
> Date: Thu Oct 17 12:22:35 2013 +0100
>
> cross-canadian: Handle powerpc linux verses linux-gnuspe
>
> PowerPC toolchains can use the OS "linux" or "linux-gnuspe". This
> patch links them together so the one cross-canadian toolchain can support
> both.
>
> GCC_FOR_TARGET is set for the GCC recipe as otherwise configure
> can pick up an incorrect value.
>
> [YOCTO #5354]
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
>
> --- a/meta/classes/cross-canadian.bbclass
> +++ b/meta/classes/cross-canadian.bbclass
> @@ -15,12 +15,30 @@ STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${S
> # Update BASE_PACKAGE_ARCH and PACKAGE_ARCHS
> #
> PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}"
> +CANADIANEXTRAOS = ""
> python () {
> archs = d.getVar('PACKAGE_ARCHS', True).split()
> sdkarchs = []
> for arch in archs:
> sdkarchs.append(arch + '-${SDKPKGSUFFIX}')
> d.setVar('PACKAGE_ARCHS', " ".join(sdkarchs))
> +
> + # PowerPC can build "linux" and "linux-gnuspe"
> + tarch = d.getVar("TARGET_ARCH", True)
> + if tarch == "powerpc":
> + tos = d.getVar("TARGET_OS", True)
> + if (tos != "linux" and tos != "linux-gnuspe"):
> + bb.fatal("Building cross-candian powerpc for an unknown TARGET_SYS (%s), please update cross-canadian.bbclass" % d.getVar("TARGET_SYS", True))
> + # Have to expand DEPENDS before we change the extensions
> + d.setVar("DEPENDS", d.getVar("DEPENDS", True))
> + d.setVar("STAGING_BINDIR_TOOLCHAIN", d.getVar("STAGING_BINDIR_TOOLCHAIN", True))
> + for prefix in ["AR", "AS", "DLLTOOL", "CC", "CXX", "GCC", "LD", "LIPO", "NM", "OBJDUMP", "RANLIB", "STRIP", "WINDRES"]:
> + n = prefix + "_FOR_TARGET"
> + d.setVar(n, d.getVar(n, True))
> +
> + d.setVar("LIBCEXTENSION", "")
> + d.setVar("ABIEXTENSION", "")
> + d.setVar("CANADIANEXTRAOS", "linux-gnuspe")
> }
Hi,
I believe this commit is the cause of some problems I'm seeing with ppc
SDK toolchain tarballs on poky master.
1. Looks like the relocation scripts fails for environments:
~/tests/poky [master]
$ cat /opt/oel/2014-01-01/environment-setup-ppce500v2-oel-linux | grep "#"
export SDKTARGETSYSROOT=##SDKTARGETSYSROOT##
~/tests/poky [master]
$ cat /opt/oel/2014-01-01/environment-setup-ppce500v2-oel-linux-gnuspe |
grep "#"
2. SDK gnuspe compiler does not allow -mabi=spe
ABIEXTENSION is zeroed both for linux-gnuspe and linux
3. Compiler can't create executables.
I think this is due to libgcc_s.so from the SDK target sysroot is in
mabi=spe.
4. -mspe is included in CC var for both linux and gnuspe.
cat /opt/oel/2014-01-01/environment-setup-ppce500v2-oel-linux | grep mabi
export CC="powerpc-oel-linux-gcc -m32 -mcpu=8548 -mabi=spe -mspe
-mfloat-gprs=double --sysroot=$SDKTARGETSYSROOT"
export CXX="powerpc-oel-linux-g++ -m32 -mcpu=8548 -mabi=spe -mspe
-mfloat-gprs=double --sysroot=$SDKTARGETSYSROOT"
export CPP="powerpc-oel-linux-gcc -E -m32 -mcpu=8548 -mabi=spe -mspe
-mfloat-gprs=double --sysroot=$SDKTARGETSYSROOT"
Seems to work in dora though,
Any thoughts on this ?
Br,
David
parent reply other threads:[~2014-01-10 12:51 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20131101174955.09FA3503F0@opal>]
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=52CFECCF.3090802@enea.com \
--to=david.nystrom@enea.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.