]> code.ossystems Code Review - openembedded-core.git/commitdiff
Change -mno-thumb to -marm
authorKen Werner <ken.werner@linaro.org>
Fri, 23 Dec 2011 12:25:42 +0000 (13:25 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 23 Dec 2011 17:31:43 +0000 (17:31 +0000)
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>
meta/conf/machine/include/arm/feature-arm-thumb.inc
meta/conf/machine/include/tune-thumb.inc

index cd34199b047540ffab9903deef6302b81c3838b2..b7d6061a9b2f0f98863d1bed69c96726439d75a9 100644 (file)
@@ -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"
index 85473ce741a9f6a0f30d961044cf21c37846a456..214e3b6ff25b21df439857e8f28cf12d522f4e43 100644 (file)
@@ -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"