summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Werner <ken.werner@linaro.org>2011-12-23 13:25:42 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-12-23 17:31:43 +0000
commit72dc73f5a647ccd38145fd888c109a144f202963 (patch)
tree4bfa7c2bc71abf3cb140170abe76b32b45f18a1d
parenta922112e197925db47cf02682c08f3af2bc760b4 (diff)
downloadopenembedded-core-72dc73f5a647ccd38145fd888c109a144f202963.tar.gz
openembedded-core-72dc73f5a647ccd38145fd888c109a144f202963.tar.bz2
openembedded-core-72dc73f5a647ccd38145fd888c109a144f202963.zip
Change -mno-thumb to -marm
Recent versions of the GCC reject the -mno-thumb option. In order to prevent the compiler from generating code for the Thumb instruction set the -marm switch should be used instead. For details see GNU bug #47930. Signed-off-by: Ken Werner <ken.werner@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/machine/include/arm/feature-arm-thumb.inc4
-rw-r--r--meta/conf/machine/include/tune-thumb.inc4
2 files changed, 4 insertions, 4 deletions
diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
index cd34199b04..b7d6061a9b 100644
--- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
+++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
@@ -5,7 +5,7 @@
# 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'][d.getVar('ARM_INSTRUCTION_SET', 1) == 'thumb']}"
+ARM_THUMB_M_OPT = "${@['-marm', '-mthumb'][d.getVar('ARM_INSTRUCTION_SET', 1) == 'thumb']}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)}"
OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", d)}"
@@ -23,4 +23,4 @@ TUNEVALID[no-thumb-interwork] = "Disable mixing of thumb and ARM functions"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", "-mthumb-interwork", d)}"
OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", ":thumb-interwork", "", d)}"
-TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -mno-thumb"
+TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -marm"
diff --git a/meta/conf/machine/include/tune-thumb.inc b/meta/conf/machine/include/tune-thumb.inc
index 85473ce741..214e3b6ff2 100644
--- a/meta/conf/machine/include/tune-thumb.inc
+++ b/meta/conf/machine/include/tune-thumb.inc
@@ -24,9 +24,9 @@ OVERRIDES .= "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
# options ensure that the compiler has the correct settings for the selected
# instruction set and interworking.
ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][d.getVar('THUMB_INTERWORK', 1) == 'yes']}"
-ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][d.getVar('ARM_INSTRUCTION_SET', 1) == 'thumb']}"
+ARM_THUMB_M_OPT = "${@['-marm', '-mthumb'][d.getVar('ARM_INSTRUCTION_SET', 1) == 'thumb']}"
#
TUNE_CCARGS += "${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}"
-TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -mno-thumb"
+TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -marm"