Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 22/22] feature-arm-thumb: Take ARM_INSTRUCTION_SET into account to decide thumb mode
Date: Fri, 05 Aug 2011 12:39:34 +0100	[thread overview]
Message-ID: <1312544374.14274.98.camel@rex> (raw)
In-Reply-To: <1312541976.6733.12.camel@phil-desktop>

On Fri, 2011-08-05 at 11:59 +0100, Phil Blundell wrote:
> On Mon, 2011-08-01 at 14:14 +0100, Richard Purdie wrote:
> > On Mon, 2011-08-01 at 00:36 -0700, Saul Wold wrote:
> > > From: Khem Raj <raj.khem@gmail.com>
> > > 
> > > This will decouple the compiling in thumb mode from having thumb
> > > capable cores.
> > > 
> > > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > > ---
> > >  .../conf/machine/include/arm/feature-arm-thumb.inc |    6 ++++--
> > >  1 files changed, 4 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> > > index e7d392e..533eab9 100644
> > > --- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
> > > +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> > > @@ -4,9 +4,11 @@
> > >  # encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size)
> > >  # but requires more instructions (140% for 70% smaller code) so may be
> > >  # slower.
> > > -TUNEVALID[thumb] = "Use thumb instructions instead of ARM"
> > > -ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
> > > +TUNEVALID[thumb] = "Use thumb instructions instead of ARM if ARM_INSTRUCTION_SET != arm"
> > > +ARM_THUMB_M_OPT = "${@['-mthumb', '-mno-thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) != 'arm']}"
> > >  TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "${ARM_THUMB_M_OPT}", d)}"
> > > +
> > > +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "-mthumb", "-mno-thumb", d)}"
> > >  OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", d)}"
> > >  
> > >  # Note armv7 will hit on armv7a as well
> > 
> > The original change committed into master in my absence is broken. This
> > patch is just making things even worse and more broken :(
> 
> What's the current situation with this?  As far as I can tell from the
> git log, there doesn't appear to have been any significant change in
> this area since last week: the head of feature-arm-thumb.inc is still at
> the allegedly-broken commit e23f9ce92.  
> 
> Does anybody have a summary of what exactly is broken at the moment and
> what is being done about it?

ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "${ARM_THUMB_M_OPT}", d)}"

Master has the above. This means it can set -mthumb for machines that don't have the thumb feature which seems wrong to me. I suspect it should be:

TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "-mno-thumb", d)}"

or if gcc can't cope with that,

TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)}"

instead.

Cheers,

Richard




  reply	other threads:[~2011-08-05 11:44 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-01  7:35 [CONSOLIDATED PATCH 00/22] Fixes Multi-Lib & M3 Saul Wold
2011-08-01  7:35 ` [PATCH 01/22] meta-environment: set correct *MULTIMACH_TARGET_SYS Saul Wold
2011-08-01  7:35 ` [PATCH 02/22] glibc: deleted Saul Wold
2011-08-01  7:35 ` [PATCH 03/22] libzypp: Fix variable substitution problem in do_archgen step Saul Wold
2011-08-01  7:35 ` [PATCH 04/22] docbook-sgml-dtd-native: Write a bak file for shared state Saul Wold
2011-08-01  7:35 ` [PATCH 05/22] docbook-dsssl-stylesheets-native: " Saul Wold
2011-08-01  7:35 ` [PATCH 06/22] openjade-native: " Saul Wold
2011-08-01  7:35 ` [PATCH 07/22] sgml-common-native: Read a catalog backup to repopulate sgml-docbook.cat Saul Wold
2011-08-01  7:36 ` [PATCH 08/22] tune/arch-powerpc64: Fix typo with 64-bit TUNE_CCARGS handling Saul Wold
2011-08-01  7:36 ` [PATCH 09/22] tune/arch-powerpc64: Remove support for soft-float from ppc64 Saul Wold
2011-08-01  7:36 ` [PATCH 10/22] tune/arch-powerpc: Use fpu-soft to set PPCPKGSFX_FPU Saul Wold
2011-08-01 13:03   ` Richard Purdie
2011-08-01 14:13     ` Kumar Gala
2011-08-01 14:50       ` Mark Hatle
2011-08-01 15:57         ` Kumar Gala
2011-08-02 18:31     ` Kumar Gala
2011-08-02 22:36       ` Richard Purdie
2011-08-01  7:36 ` [PATCH 11/22] tune-ppce500mc: Adjust PowerPC e500mc tune file to correctly set hard fpu Saul Wold
2011-08-01  7:36 ` [PATCH 12/22] sanity.bbclass: Add sanity check that TUNE_PKGARCH appears in PACKAGE_ARCHS Saul Wold
2011-08-01  7:36 ` [PATCH 13/22] sanity: Dont throw a warning if TUNE_PKGARCH is in PACKAGE_ARCHS twice Saul Wold
2011-08-01 13:03   ` Richard Purdie
2011-08-01 13:28     ` Koen Kooi
2011-08-01 14:11     ` Kumar Gala
2011-08-01 17:34       ` Khem Raj
2011-08-01 18:51         ` Kumar Gala
2011-08-01 18:59           ` Khem Raj
2011-08-02 13:39             ` Richard Purdie
2011-08-01  7:36 ` [PATCH 14/22] libzypp: Bump PR Saul Wold
2011-08-01  7:36 ` [PATCH 15/22] tune/powerpc: Cleanup setting of TUNE_PKGARCH Saul Wold
2011-08-01  9:06   ` Richard Purdie
2011-08-01  7:36 ` [PATCH 16/22] populate_sdk: Fix the introduction of sdknative packages Saul Wold
2011-08-01 13:06   ` Richard Purdie
2011-08-01 14:47     ` Mark Hatle
2011-08-01  7:36 ` [PATCH 17/22] bitbake.conf: Add default tune-${DEFAULTTUNE} override Saul Wold
2011-08-01  9:00   ` Richard Purdie
2011-08-01  9:09   ` Phil Blundell
2011-08-01 14:36     ` Mark Hatle
2011-08-01  7:36 ` [PATCH 18/22] rootfs_rpm.bbclass: Fix multilib configurations to use DEFAULTTUNE Saul Wold
2011-08-01  7:36 ` [PATCH 19/22] package_{deb, rpm, ipk}.bbclass: fix 'lingusa' typo Saul Wold
2011-08-01  7:36 ` [PATCH 20/22] arch-armv7a.inc: fix armv7a-vfp-neon -> armv7a compat case Saul Wold
2011-08-01 13:10   ` Richard Purdie
2011-08-01 13:35     ` Koen Kooi
2011-08-01  7:36 ` [PATCH 21/22] external-*toolchain: remove glibc-utils provide Saul Wold
2011-08-01 13:11   ` Richard Purdie
2011-08-01  7:36 ` [PATCH 22/22] feature-arm-thumb: Take ARM_INSTRUCTION_SET into account to decide thumb mode Saul Wold
2011-08-01 13:14   ` Richard Purdie
2011-08-01 17:46     ` Khem Raj
2011-08-05 10:59     ` Phil Blundell
2011-08-05 11:39       ` Richard Purdie [this message]
2011-08-05 14:34         ` Phil Blundell
2011-08-05 15:23           ` Khem Raj
2011-08-05 16:23             ` Richard Purdie
2011-08-01 13:20 ` [CONSOLIDATED PATCH 00/22] Fixes Multi-Lib & M3 Richard Purdie

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=1312544374.14274.98.camel@rex \
    --to=richard.purdie@linuxfoundation.org \
    --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