From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 5/5] WIP: feature-arm-thumb.inc: respect ARM_INSTRUCTION_SET when adding thumb suffix
Date: Fri, 25 Apr 2014 18:04:34 +0100 [thread overview]
Message-ID: <1398445474.16672.201.camel@ted> (raw)
In-Reply-To: <394b5e1da57b3bf0d90c1c5185f394d865a394bf.1398443925.git.Martin.Jansa@gmail.com>
On Fri, 2014-04-25 at 18:40 +0200, Martin Jansa wrote:
> * this means that recipes with ARM_INSTRUCTION_SET explicitly changed
> to arm will be built in feed without thumb suffix
> * It looks like the rest of system doesn't correctly support different
> TUNE_PKGARCHs for different recipes (e.g. eglibc-initial fails)
> so this needs a bit more work
>
> config.log:
> configure:2768: arm-oe-linux-gnueabi-gcc -march=armv5e -marm -mthumb-interwork --sysroot=/OE/build/oe-core/tmp-eglibc/sysroots/qemuarm -c -O2 -pipe -g -feliminate-unused-debug-types conftest.c >&5
> /OE/build/oe-core/tmp-eglibc/work/armv5e-oe-linux-gnueabi/eglibc-initial/2.18-r0/eglibc-2.18/libc/configure: line 2770: arm-oe-linux-gnueabi-gcc: command not found
> configure:2772: $? = 127
>
> and the problem is basically that STAGING_BINDIR_TOOLCHAIN points to
> different directory when building recipe with thumb enabled and
> disabled, in this case gcc was built with thumb enabled and is installed
> in:
>
> sysroots/x86_64-linux/usr/bin/armv5te-oe-linux-gnueabi
>
> OE qemuarm@ ~/build/oe-core $ ls /OE/build/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/armv5te-oe-linux-gnueabi
> arm-oe-linux-gnueabi-addr2line arm-oe-linux-gnueabi-elfedit
> arm-oe-linux-gnueabi-nm arm-oe-linux-gnueabi-readelf
> arm-oe-linux-gnueabi-ar arm-oe-linux-gnueabi-gprof
> arm-oe-linux-gnueabi-objcopy arm-oe-linux-gnueabi-size
> arm-oe-linux-gnueabi-as arm-oe-linux-gnueabi-ld
> arm-oe-linux-gnueabi-objdump arm-oe-linux-gnueabi-strings
> arm-oe-linux-gnueabi-c++filt arm-oe-linux-gnueabi-ld.bfd
> arm-oe-linux-gnueabi-ranlib arm-oe-linux-gnueabi-strip
>
> but when building eglibc-initial with thumb disalbed, TUNE_PKGARCH
> becames armv5e and STAGING_BINDIR_TOOLCHAIN in PATH points to wrong dir:
>
> $STAGING_BINDIR_TOOLCHAIN
> set conf/bitbake.conf:354
> "${STAGING_DIR_NATIVE}${bindir_native}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
> STAGING_BINDIR_TOOLCHAIN="/OE/build/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/armv5e-oe-linux-gnueabi"
>
> OE qemuarm@ ~/build/oe-core $ ls /OE/build/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/armv5e-oe-linux-gnueabi
> ls: cannot access /OE/build/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/armv5e-oe-linux-gnueabi: No such file or directory
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
> meta/conf/machine/include/arm/feature-arm-thumb.inc | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
You might find my WIP gcc changes happen to fix some of the issues
you're running into here since there is one compiler for all of arm
regardless of tune.
Half of this merged to master, the other half is roughly what is on the
top of:
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rpurdie/t222
although this is still WIP too.
Cheers,
Richard
> diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> index 8a38665..6c5d1d6 100644
> --- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
> +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> @@ -28,7 +28,8 @@ python () {
> TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
> OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ':thumb', '', d)}"
>
> -ARMPKGSFX_THUMB .= "${ARM_THUMB_SUFFIX}"
> +# Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
> +ARMPKGSFX_THUMB .= "${@ d.getVar('ARM_THUMB_SUFFIX', True) if d.getVar('ARM_M_OPT', True) == 'thumb' else ''}"
>
> # Whether to compile with code to allow interworking between the two
> # instruction sets. This allows thumb code to be executed on a primarily
> --
> 1.9.1
>
next prev parent reply other threads:[~2014-04-25 17:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-25 16:40 [PATCH 0/5] Allow arm tunes which support only thumb Martin Jansa
2014-04-25 16:40 ` [PATCH 1/5] feature-arm-thumb.inc: Replace inner quotes with apostrophes Martin Jansa
2014-04-25 16:40 ` [PATCH 2/5] feature-arm-thumb.inc, arch-armv4.inc: Add "arm" to TUNE_FEATURES Martin Jansa
2014-04-25 16:40 ` [PATCH 3/5] tune-cortexr4.inc: Add thumb and arm " Martin Jansa
2014-04-25 16:40 ` [PATCH 4/5] tune-cortexm3.inc: Cortex-M3 doesn't support ARM instructions Martin Jansa
2014-04-27 15:22 ` Phil Blundell
2014-04-25 16:40 ` [PATCH 5/5] WIP: feature-arm-thumb.inc: respect ARM_INSTRUCTION_SET when adding thumb suffix Martin Jansa
2014-04-25 17:04 ` Richard Purdie [this message]
2014-04-25 18:33 ` Denys Dmytriyenko
2014-04-25 16:51 ` [PATCH 0/5] Allow arm tunes which support only thumb Mark Hatle
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=1398445474.16672.201.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox