mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
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. (From OE-Core rev: 72dc73f5a647ccd38145fd888c109a144f202963) Signed-off-by: Ken Werner <ken.werner@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
1090bc49da
commit
79bb1cc311
@@ -5,7 +5,7 @@
|
|||||||
# but requires more instructions (140% for 70% smaller code) so may be
|
# but requires more instructions (140% for 70% smaller code) so may be
|
||||||
# slower.
|
# slower.
|
||||||
TUNEVALID[thumb] = "Use thumb instructions instead of ARM"
|
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)}"
|
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)}"
|
||||||
OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", 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)}"
|
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)}"
|
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"
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ OVERRIDES .= "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
|
|||||||
# options ensure that the compiler has the correct settings for the selected
|
# options ensure that the compiler has the correct settings for the selected
|
||||||
# instruction set and interworking.
|
# instruction set and interworking.
|
||||||
ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][d.getVar('THUMB_INTERWORK', 1) == 'yes']}"
|
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}"
|
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"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user