[OE-core] [PATCH 22/22] feature-arm-thumb: Take ARM_INSTRUCTION_SET into account to decide thumb mode

Richard Purdie richard.purdie at linuxfoundation.org
Mon Aug 1 13:14:39 UTC 2011


On Mon, 2011-08-01 at 00:36 -0700, Saul Wold wrote:
> From: Khem Raj <raj.khem at gmail.com>
> 
> This will decouple the compiling in thumb mode from having thumb
> capable cores.
> 
> Signed-off-by: Khem Raj <raj.khem at 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 :(

I suspect what people really wanted was:

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

Cheers,

Richard





More information about the Openembedded-core mailing list