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<[email protected]>
---
  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
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to