Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denis@denix.org>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
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 14:33:20 -0400	[thread overview]
Message-ID: <20140425183320.GY11339@denix.org> (raw)
In-Reply-To: <1398445474.16672.201.camel@ted>

On Fri, Apr 25, 2014 at 06:04:34PM +0100, Richard Purdie wrote:
> 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.

Heh, and I was also looking into STAGING_BINDIR_TOOLCHAIN and TUNE_PKGARCH 
issues lately, although for slightly different reason. I'll be sure to check 
your WIP fixes soon...


> > 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
> > 
> 
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


  reply	other threads:[~2014-04-25 18:33 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
2014-04-25 18:33     ` Denys Dmytriyenko [this message]
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=20140425183320.GY11339@denix.org \
    --to=denis@denix.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox