All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] classes, recipes: Replace use of ARM_INSTRUCTION_SET with contruct using TUNE_FEATURES
Date: Fri, 29 Jul 2011 09:46:25 -0700	[thread overview]
Message-ID: <4E32E3E1.5080306@gmail.com> (raw)
In-Reply-To: <20110729163912.GN15286@jama.jama.net>

On 07/29/2011 09:39 AM, Martin Jansa wrote:
> On Fri, Jul 29, 2011 at 07:59:31AM -0700, Khem Raj wrote:
>> Currently when using thumb feature all recipes can not be compiled in
>> thumb mode. Therefore we had ARM_INSTRUCTION_SET to force arm intruction
>> set even when thumb was global choice. With this patch we remove thumb
>> from tune features for these recipes. This will make sure that compiler
>> is not using thumb options to compile these recipes at all.
>>
>> Signed-off-by: Khem Raj<raj.khem@gmail.com>
>> ---
>>   meta/classes/qt4e.bbclass                          |    2 +-
>>   meta/classes/qt4x11.bbclass                        |    2 +-
>>   meta/conf/machine/include/tune-thumb.inc           |   32 --------------------
>>   meta/recipes-core/eglibc/eglibc.inc                |    4 +-
>>   meta/recipes-core/glib-2.0/glib.inc                |    4 ++-
>>   meta/recipes-core/glibc/glibc.inc                  |    4 ++-
>>   meta/recipes-core/glibc/glibc_2.10.1.bb            |    3 +-
>>   meta/recipes-core/uclibc/uclibc.inc                |    2 +-
>>   meta/recipes-devtools/gcc/gcc-csl-arm-2008q1.inc   |    3 +-
>>   .../xorg-xserver/xserver-kdrive.inc                |    4 ++-
>>   meta/recipes-multimedia/alsa/alsa-lib_1.0.24.1.bb  |    3 +-
>>   .../gstreamer/gst-plugins-bad_0.10.21.bb           |    3 +-
>>   meta/recipes-multimedia/libmad/libmad_0.15.1b.bb   |    4 ++-
>>   meta/recipes-multimedia/tremor/tremor_20101121.bb  |    4 ++-
>>   meta/recipes-qt/qt4/qt4_arch.inc                   |    3 +-
>>   meta/recipes-support/boost/boost-36.inc            |    4 ++-
>>   meta/recipes-support/gmp/gmp.inc                   |    3 +-
>>   meta/recipes-support/libgcrypt/libgcrypt.inc       |    3 +-
>>   meta/recipes-support/liboil/liboil_0.3.17.bb       |    3 +-
>>   19 files changed, 39 insertions(+), 51 deletions(-)
>>   delete mode 100644 meta/conf/machine/include/tune-thumb.inc
>
> this causes ie eglibc not only to disable thumb but also to pass
> -march=armv4 and look in wrong directory for toolchain.. which because
> it's not filtering thumb is in armv4t-oe-linux-gnueabi
>
> export PATH="
> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/bin/armv4-oe-linux-gnueabi.gcc-cross-initial:
> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/bin/armv4-oe-linux-gnueabi:
> /OE/shr-core/tmp/sysroots/om-gta02/usr/bin/crossscripts:
> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/sbin:
> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/bin:
> /OE/shr-core/tmp/sysroots/x86_64-linux/sbin:
> /OE/shr-core/tmp/sysroots/x86_64-linux//bin:
> /OE/shr-core/openembedded-core/scripts:
> /OE/bin:
> /usr/local/bin:
> /usr/bin:
> /bin:
> /opt/bin:
> /usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1:
> /OE/shr-core/openembedded-core/scripts"
>
> simple forward of oe.dev arm-thumb.inc logic to arm-feature-thumb.inc
> +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> @@ -5,7 +5,8 @@
>   # but requires more instructions (140% for 70% smaller code) so may be
>   # slower.
>   TUNEVALID[thumb] = "Use thumb instructions instead of ARM"
> -TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "-mthumb", "-mno-thumb", d)}"
> +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)}"
>
> seems to work.. will send patch after more testing, but eglibc compiled fine now..

decoupling the -mthumb/-mno-thumb from thumb tune feature is right think 
to do.
yes this would be something on the lines I was thinking can work with 
minimal changes.

>
>
> Regards,
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




  reply	other threads:[~2011-07-29 16:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-29 14:59 [PATCH] classes, recipes: Replace use of ARM_INSTRUCTION_SET with contruct using TUNE_FEATURES Khem Raj
2011-07-29 16:39 ` Martin Jansa
2011-07-29 16:46   ` Khem Raj [this message]
2011-07-29 17:04   ` [PATCH] feature-arm-thumb: respect ARM_INSTRUCTION_SET Martin Jansa
2011-07-29 17:10     ` Martin Jansa
2011-07-29 18:08       ` Mark Hatle
2011-07-29 20:23         ` Phil Blundell
2011-07-29 20:51           ` Mark Hatle
2011-07-30  9:41             ` Phil Blundell

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=4E32E3E1.5080306@gmail.com \
    --to=raj.khem@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 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.